chrome-devtools-frontend 1.0.1380117 → 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 (595) hide show
  1. package/.stylelintrc.json +2 -1
  2. package/config/gni/devtools_grd_files.gni +25 -4
  3. package/config/gni/devtools_image_files.gni +2 -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/cookie_off.svg +3 -0
  12. package/front_end/Images/src/domain.svg +3 -0
  13. package/front_end/core/common/Color.ts +3 -3
  14. package/front_end/core/common/SettingRegistration.ts +7 -0
  15. package/front_end/core/host/AidaClient.ts +3 -3
  16. package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
  17. package/front_end/core/host/UserMetrics.ts +0 -8
  18. package/front_end/core/i18n/locales/af.json +1031 -887
  19. package/front_end/core/i18n/locales/am.json +1036 -892
  20. package/front_end/core/i18n/locales/ar.json +1039 -895
  21. package/front_end/core/i18n/locales/as.json +1032 -888
  22. package/front_end/core/i18n/locales/az.json +1034 -890
  23. package/front_end/core/i18n/locales/be.json +1031 -887
  24. package/front_end/core/i18n/locales/bg.json +1031 -887
  25. package/front_end/core/i18n/locales/bn.json +1033 -889
  26. package/front_end/core/i18n/locales/bs.json +1036 -892
  27. package/front_end/core/i18n/locales/ca.json +1031 -887
  28. package/front_end/core/i18n/locales/cs.json +1030 -886
  29. package/front_end/core/i18n/locales/cy.json +1032 -888
  30. package/front_end/core/i18n/locales/da.json +1031 -887
  31. package/front_end/core/i18n/locales/de.json +1033 -889
  32. package/front_end/core/i18n/locales/el.json +1031 -887
  33. package/front_end/core/i18n/locales/en-GB.json +1033 -889
  34. package/front_end/core/i18n/locales/es-419.json +1029 -885
  35. package/front_end/core/i18n/locales/es.json +1032 -888
  36. package/front_end/core/i18n/locales/et.json +1033 -889
  37. package/front_end/core/i18n/locales/eu.json +1031 -887
  38. package/front_end/core/i18n/locales/fa.json +1035 -891
  39. package/front_end/core/i18n/locales/fi.json +1035 -891
  40. package/front_end/core/i18n/locales/fil.json +1034 -890
  41. package/front_end/core/i18n/locales/fr-CA.json +1031 -887
  42. package/front_end/core/i18n/locales/fr.json +1049 -905
  43. package/front_end/core/i18n/locales/gl.json +1032 -888
  44. package/front_end/core/i18n/locales/gu.json +1035 -891
  45. package/front_end/core/i18n/locales/he.json +1031 -887
  46. package/front_end/core/i18n/locales/hi.json +1034 -890
  47. package/front_end/core/i18n/locales/hr.json +1031 -887
  48. package/front_end/core/i18n/locales/hu.json +1033 -889
  49. package/front_end/core/i18n/locales/hy.json +1046 -902
  50. package/front_end/core/i18n/locales/id.json +1023 -879
  51. package/front_end/core/i18n/locales/is.json +1032 -888
  52. package/front_end/core/i18n/locales/it.json +1031 -887
  53. package/front_end/core/i18n/locales/ja.json +1042 -898
  54. package/front_end/core/i18n/locales/ka.json +1034 -890
  55. package/front_end/core/i18n/locales/kk.json +1035 -891
  56. package/front_end/core/i18n/locales/km.json +1035 -891
  57. package/front_end/core/i18n/locales/kn.json +1036 -892
  58. package/front_end/core/i18n/locales/ko.json +1031 -887
  59. package/front_end/core/i18n/locales/ky.json +1032 -888
  60. package/front_end/core/i18n/locales/lo.json +1030 -886
  61. package/front_end/core/i18n/locales/lt.json +1032 -888
  62. package/front_end/core/i18n/locales/lv.json +1032 -888
  63. package/front_end/core/i18n/locales/mk.json +1032 -888
  64. package/front_end/core/i18n/locales/ml.json +1033 -889
  65. package/front_end/core/i18n/locales/mn.json +1034 -890
  66. package/front_end/core/i18n/locales/mr.json +1035 -891
  67. package/front_end/core/i18n/locales/ms.json +1033 -889
  68. package/front_end/core/i18n/locales/my.json +1033 -889
  69. package/front_end/core/i18n/locales/ne.json +1036 -892
  70. package/front_end/core/i18n/locales/nl.json +1033 -889
  71. package/front_end/core/i18n/locales/no.json +1036 -892
  72. package/front_end/core/i18n/locales/or.json +1043 -899
  73. package/front_end/core/i18n/locales/pa.json +1030 -886
  74. package/front_end/core/i18n/locales/pl.json +1032 -888
  75. package/front_end/core/i18n/locales/pt-PT.json +1033 -889
  76. package/front_end/core/i18n/locales/pt.json +1033 -889
  77. package/front_end/core/i18n/locales/ro.json +1029 -885
  78. package/front_end/core/i18n/locales/ru.json +1026 -882
  79. package/front_end/core/i18n/locales/si.json +1031 -887
  80. package/front_end/core/i18n/locales/sk.json +1033 -889
  81. package/front_end/core/i18n/locales/sl.json +1031 -887
  82. package/front_end/core/i18n/locales/sq.json +1061 -917
  83. package/front_end/core/i18n/locales/sr-Latn.json +1033 -889
  84. package/front_end/core/i18n/locales/sr.json +1033 -889
  85. package/front_end/core/i18n/locales/sv.json +1031 -887
  86. package/front_end/core/i18n/locales/sw.json +1033 -889
  87. package/front_end/core/i18n/locales/ta.json +1058 -914
  88. package/front_end/core/i18n/locales/te.json +1037 -893
  89. package/front_end/core/i18n/locales/th.json +1032 -888
  90. package/front_end/core/i18n/locales/tr.json +1031 -887
  91. package/front_end/core/i18n/locales/uk.json +1030 -886
  92. package/front_end/core/i18n/locales/ur.json +1031 -887
  93. package/front_end/core/i18n/locales/uz.json +1023 -879
  94. package/front_end/core/i18n/locales/vi.json +1032 -888
  95. package/front_end/core/i18n/locales/zh-HK.json +1032 -888
  96. package/front_end/core/i18n/locales/zh-TW.json +1032 -888
  97. package/front_end/core/i18n/locales/zh.json +1033 -889
  98. package/front_end/core/i18n/locales/zu.json +1032 -888
  99. package/front_end/core/root/Runtime.ts +0 -1
  100. package/front_end/core/sdk/NetworkManager.test.ts +50 -0
  101. package/front_end/core/sdk/NetworkManager.ts +6 -4
  102. package/front_end/core/sdk/SourceMap.test.ts +5 -5
  103. package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +7 -2
  104. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  105. package/front_end/core/sdk/SourceMapScopes.test.ts +112 -45
  106. package/front_end/core/sdk/SourceMapScopes.ts +39 -14
  107. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +51 -50
  108. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  109. package/front_end/core/sdk/sdk-meta.ts +27 -0
  110. package/front_end/devtools_compatibility.js +0 -1
  111. package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -0
  112. package/front_end/entrypoints/inspector_main/renderingOptions.css +1 -1
  113. package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +13 -3
  114. package/front_end/entrypoints/main/ExecutionContextSelector.ts +23 -1
  115. package/front_end/entrypoints/main/MainImpl.ts +0 -5
  116. package/front_end/generated/Deprecation.ts +0 -15
  117. package/front_end/generated/InspectorBackendCommands.js +1 -1
  118. package/front_end/generated/SupportedCSSProperties.js +0 -40
  119. package/front_end/generated/protocol.ts +1 -0
  120. package/front_end/models/bindings/IgnoreListManager.ts +25 -2
  121. package/front_end/models/crux-manager/CrUXManager.test.ts +25 -6
  122. package/front_end/models/crux-manager/CrUXManager.ts +23 -4
  123. package/front_end/models/extensions/ExtensionServer.test.ts +14 -0
  124. package/front_end/models/extensions/ExtensionServer.ts +28 -15
  125. package/front_end/models/issues_manager/CookieIssue.ts +79 -2
  126. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  127. package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
  128. package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
  129. package/front_end/models/javascript_metadata/NativeFunctions.js +14 -4
  130. package/front_end/models/persistence/EditFileSystemView.ts +2 -2
  131. package/front_end/models/persistence/editFileSystemView.css +6 -3
  132. package/front_end/models/persistence/workspaceSettingsTab.css +2 -2
  133. package/front_end/models/trace/extras/Metadata.test.ts +35 -2
  134. package/front_end/models/trace/extras/Metadata.ts +24 -5
  135. package/front_end/models/trace/extras/TraceTree.ts +28 -18
  136. package/front_end/models/trace/extras/URLForEntry.ts +6 -5
  137. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +12 -0
  138. package/front_end/models/trace/helpers/Timing.ts +8 -0
  139. package/front_end/models/trace/insights/CLSCulprits.ts +11 -3
  140. package/front_end/models/trace/insights/DocumentLatency.ts +16 -3
  141. package/front_end/models/trace/insights/FontDisplay.ts +10 -3
  142. package/front_end/models/trace/insights/ImageDelivery.test.ts +98 -0
  143. package/front_end/models/trace/insights/ImageDelivery.ts +183 -0
  144. package/front_end/models/trace/insights/InteractionToNextPaint.ts +9 -3
  145. package/front_end/models/trace/insights/LCPDiscovery.ts +24 -3
  146. package/front_end/models/trace/insights/LCPPhases.ts +25 -3
  147. package/front_end/models/trace/insights/Models.ts +1 -0
  148. package/front_end/models/trace/insights/RenderBlocking.ts +10 -2
  149. package/front_end/models/trace/insights/SlowCSSSelector.ts +10 -3
  150. package/front_end/models/trace/insights/ThirdParties.ts +11 -3
  151. package/front_end/models/trace/insights/Viewport.ts +16 -3
  152. package/front_end/models/trace/insights/types.ts +13 -2
  153. package/front_end/models/trace/types/File.ts +7 -0
  154. package/front_end/models/trace/types/TraceEvents.ts +9 -2
  155. package/front_end/panels/animation/AnimationTimeline.ts +2 -4
  156. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -5
  157. package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -21
  158. package/front_end/panels/application/IndexedDBViews.ts +4 -1
  159. package/front_end/panels/application/ServiceWorkerCacheViews.ts +4 -1
  160. package/front_end/panels/application/StorageView.test.ts +1 -1
  161. package/front_end/panels/application/resourcesSidebar.css +1 -1
  162. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
  163. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  164. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +1 -1
  165. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
  166. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +1 -1
  167. package/front_end/panels/console/ConsoleViewMessage.test.ts +25 -0
  168. package/front_end/panels/console/ConsoleViewMessage.ts +23 -0
  169. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  170. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  171. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  172. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +3 -2
  173. package/front_end/panels/elements/ElementStatePaneWidget.ts +7 -2
  174. package/front_end/panels/elements/ElementsSidebarPane.ts +3 -3
  175. package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
  176. package/front_end/panels/elements/LayersWidget.ts +1 -1
  177. package/front_end/panels/elements/PropertyMatchers.test.ts +7 -0
  178. package/front_end/panels/elements/PropertyMatchers.ts +3 -0
  179. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  180. package/front_end/panels/emulation/DeviceModeView.ts +1 -1
  181. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  182. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
  183. package/front_end/panels/freestyler/AiAgent.test.ts +319 -50
  184. package/front_end/panels/freestyler/AiAgent.ts +193 -141
  185. package/front_end/panels/freestyler/AiHistoryStorage.test.ts +159 -0
  186. package/front_end/panels/freestyler/AiHistoryStorage.ts +73 -0
  187. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +14 -15
  188. package/front_end/panels/freestyler/DrJonesFileAgent.ts +3 -14
  189. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +14 -13
  190. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +3 -3
  191. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +38 -36
  192. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +3 -14
  193. package/front_end/panels/freestyler/FreestylerAgent.test.ts +195 -14
  194. package/front_end/panels/freestyler/FreestylerAgent.ts +13 -18
  195. package/front_end/panels/freestyler/FreestylerPanel.test.ts +71 -0
  196. package/front_end/panels/freestyler/FreestylerPanel.ts +99 -74
  197. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +128 -29
  198. package/front_end/panels/freestyler/components/UserActionRow.ts +1 -0
  199. package/front_end/panels/freestyler/components/freestylerChatUi.css +21 -1
  200. package/front_end/panels/freestyler/components/userActionRow.css +2 -1
  201. package/front_end/panels/freestyler/freestyler.ts +1 -0
  202. package/front_end/panels/issues/IssueAggregator.test.ts +50 -0
  203. package/front_end/panels/issues/IssueAggregator.ts +10 -10
  204. package/front_end/panels/issues/issuesTree.css +1 -1
  205. package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -1
  206. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  207. package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
  208. package/front_end/panels/layers/LayersPanel.ts +1 -1
  209. package/front_end/panels/lighthouse/lighthouseStartView.css +1 -1
  210. package/front_end/panels/media/TickingFlameChart.ts +1 -1
  211. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  212. package/front_end/panels/network/BlockedURLsPane.ts +1 -1
  213. package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
  214. package/front_end/panels/network/NetworkLogView.test.ts +1 -1
  215. package/front_end/panels/network/NetworkPanel.ts +40 -32
  216. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  217. package/front_end/panels/profiler/HeapProfileView.ts +9 -9
  218. package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -1
  219. package/front_end/panels/profiler/IsolateSelector.ts +1 -1
  220. package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
  221. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -3
  222. package/front_end/panels/profiler/ProfileView.ts +2 -2
  223. package/front_end/panels/profiler/profileLauncherView.css +1 -1
  224. package/front_end/panels/profiler/profilesSidebarTree.css +1 -1
  225. package/front_end/panels/recorder/recorderController.css +1 -1
  226. package/front_end/panels/security/CookieControlsTreeElement.ts +18 -0
  227. package/front_end/panels/security/CookieControlsView.test.ts +29 -0
  228. package/front_end/panels/security/CookieControlsView.ts +265 -0
  229. package/front_end/panels/security/CookieReportView.test.ts +157 -0
  230. package/front_end/panels/security/CookieReportView.ts +208 -12
  231. package/front_end/panels/security/SecurityPanel.ts +5 -3
  232. package/front_end/panels/security/SecurityPanelSidebar.ts +6 -1
  233. package/front_end/panels/security/cookieControlsView.css +101 -0
  234. package/front_end/panels/security/cookieReportView.css +26 -3
  235. package/front_end/panels/security/security.ts +4 -0
  236. package/front_end/panels/security/sidebar.css +1 -1
  237. package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
  238. package/front_end/panels/settings/SettingsScreen.ts +5 -1
  239. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
  240. package/front_end/panels/settings/keybindsSettingsTab.css +6 -1
  241. package/front_end/panels/settings/settings-meta.ts +3 -1
  242. package/front_end/panels/settings/settingsScreen.css +10 -0
  243. package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
  244. package/front_end/panels/sources/NavigatorView.ts +1 -0
  245. package/front_end/panels/sources/navigatorTree.css +1 -1
  246. package/front_end/panels/sources/sourcesPanel.css +2 -2
  247. package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -7
  248. package/front_end/panels/timeline/AppenderUtils.ts +1 -1
  249. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +38 -41
  250. package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -13
  251. package/front_end/panels/timeline/InteractionsTrackAppender.ts +3 -4
  252. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -12
  253. package/front_end/panels/timeline/ServerTimingsTrackAppender.ts +1 -10
  254. package/front_end/panels/timeline/ThreadAppender.ts +9 -12
  255. package/front_end/panels/timeline/TimelineController.ts +1 -1
  256. package/front_end/panels/timeline/TimelineDetailsView.test.ts +3 -2
  257. package/front_end/panels/timeline/TimelineDetailsView.ts +18 -17
  258. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +55 -36
  259. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
  260. package/front_end/panels/timeline/TimelineFlameChartView.ts +33 -14
  261. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +20 -15
  262. package/front_end/panels/timeline/TimelineHistoryManager.ts +46 -58
  263. package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
  264. package/front_end/panels/timeline/TimelineLoader.ts +16 -0
  265. package/front_end/panels/timeline/TimelineMiniMap.ts +2 -2
  266. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  267. package/front_end/panels/timeline/TimelinePanel.ts +145 -28
  268. package/front_end/panels/timeline/TimelineTreeView.ts +65 -16
  269. package/front_end/panels/timeline/TimelineUIUtils.ts +44 -0
  270. package/front_end/panels/timeline/TimingsTrackAppender.ts +6 -13
  271. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -0
  272. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +6 -1
  273. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +12 -0
  274. package/front_end/panels/timeline/components/LiveMetricsView.ts +13 -18
  275. package/front_end/panels/timeline/components/Sidebar.ts +1 -4
  276. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +1 -1
  277. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
  278. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +21 -35
  279. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +16 -9
  280. package/front_end/panels/timeline/components/TimelineSummary.test.ts +75 -0
  281. package/front_end/panels/timeline/components/TimelineSummary.ts +101 -0
  282. package/front_end/panels/timeline/components/Utils.test.ts +49 -0
  283. package/front_end/panels/timeline/components/Utils.ts +2 -2
  284. package/front_end/panels/timeline/components/components.ts +2 -0
  285. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +84 -0
  286. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +291 -0
  287. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +17 -41
  288. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +28 -46
  289. package/front_end/panels/timeline/components/insights/EventRef.ts +70 -2
  290. package/front_end/panels/timeline/components/insights/FontDisplay.ts +28 -46
  291. package/front_end/panels/timeline/components/insights/Helpers.ts +5 -208
  292. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +142 -0
  293. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +30 -53
  294. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +36 -75
  295. package/front_end/panels/timeline/components/insights/LCPPhases.ts +15 -49
  296. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +27 -44
  297. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -197
  298. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +51 -74
  299. package/front_end/panels/timeline/components/insights/Table.ts +6 -5
  300. package/front_end/panels/timeline/components/insights/ThirdParties.ts +41 -61
  301. package/front_end/panels/timeline/components/insights/Viewport.ts +20 -31
  302. package/front_end/panels/timeline/components/insights/{sidebarInsight.css → baseInsightComponent.css} +9 -9
  303. package/front_end/panels/timeline/components/insights/insights.ts +4 -0
  304. package/front_end/panels/timeline/components/insights/types.ts +0 -7
  305. package/front_end/panels/timeline/components/liveMetricsView.css +5 -5
  306. package/front_end/panels/timeline/components/timelineSummary.css +67 -0
  307. package/front_end/panels/timeline/docs/flame_chart_migration.md +1 -1
  308. package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
  309. package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
  310. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +22 -0
  311. package/front_end/panels/timeline/timeline-meta.ts +1 -1
  312. package/front_end/panels/timeline/timelineFlamechartPopover.css +14 -4
  313. package/front_end/panels/timeline/timelineHistoryManager.css +7 -3
  314. package/front_end/panels/timeline/timelinePanel.css +0 -1
  315. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +5 -5
  316. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +5 -6
  317. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +11 -2
  318. package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +0 -9
  319. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +37 -44
  320. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +44 -30
  321. package/front_end/panels/timeline/utils/EntryName.ts +1 -2
  322. package/front_end/panels/timeline/utils/Helpers.ts +19 -0
  323. package/front_end/panels/timeline/utils/IgnoreList.test.ts +52 -0
  324. package/front_end/panels/timeline/utils/IgnoreList.ts +68 -7
  325. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +2 -0
  326. package/front_end/panels/webauthn/webauthnPane.css +1 -1
  327. package/front_end/panels/whats_new/ReleaseNote.test.ts +90 -0
  328. package/front_end/panels/whats_new/ReleaseNoteText.ts +52 -0
  329. package/front_end/panels/whats_new/ReleaseNoteView.ts +157 -0
  330. package/front_end/panels/whats_new/WhatsNewImpl.ts +102 -0
  331. package/front_end/panels/whats_new/releaseNoteView.css +121 -0
  332. package/front_end/panels/whats_new/resources/WNDT.md +6 -0
  333. package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
  334. package/front_end/panels/whats_new/whats_new-meta.ts +142 -0
  335. package/front_end/panels/whats_new/whats_new.ts +13 -0
  336. package/front_end/services/puppeteer/PuppeteerConnection.ts +4 -3
  337. package/front_end/testing/EnvironmentHelpers.ts +1 -2
  338. package/front_end/testing/SourceMapEncoder.ts +27 -11
  339. package/front_end/testing/TraceHelpers.ts +2 -1
  340. package/front_end/testing/TraceLoader.ts +6 -2
  341. package/front_end/third_party/lighthouse/README.chromium +2 -2
  342. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1380 -1369
  343. package/front_end/third_party/lighthouse/locales/ar-XB.json +88 -85
  344. package/front_end/third_party/lighthouse/locales/ar.json +98 -95
  345. package/front_end/third_party/lighthouse/locales/bg.json +88 -85
  346. package/front_end/third_party/lighthouse/locales/ca.json +91 -88
  347. package/front_end/third_party/lighthouse/locales/cs.json +91 -88
  348. package/front_end/third_party/lighthouse/locales/da.json +94 -91
  349. package/front_end/third_party/lighthouse/locales/de.json +92 -89
  350. package/front_end/third_party/lighthouse/locales/el.json +92 -89
  351. package/front_end/third_party/lighthouse/locales/en-GB.json +89 -86
  352. package/front_end/third_party/lighthouse/locales/en-US.json +23 -20
  353. package/front_end/third_party/lighthouse/locales/en-XA.json +88 -85
  354. package/front_end/third_party/lighthouse/locales/en-XL.json +23 -20
  355. package/front_end/third_party/lighthouse/locales/es-419.json +92 -89
  356. package/front_end/third_party/lighthouse/locales/es.json +91 -88
  357. package/front_end/third_party/lighthouse/locales/fi.json +92 -89
  358. package/front_end/third_party/lighthouse/locales/fil.json +93 -90
  359. package/front_end/third_party/lighthouse/locales/fr.json +94 -91
  360. package/front_end/third_party/lighthouse/locales/he.json +97 -94
  361. package/front_end/third_party/lighthouse/locales/hi.json +92 -89
  362. package/front_end/third_party/lighthouse/locales/hr.json +90 -87
  363. package/front_end/third_party/lighthouse/locales/hu.json +90 -87
  364. package/front_end/third_party/lighthouse/locales/id.json +91 -88
  365. package/front_end/third_party/lighthouse/locales/it.json +90 -87
  366. package/front_end/third_party/lighthouse/locales/ja.json +90 -87
  367. package/front_end/third_party/lighthouse/locales/ko.json +90 -87
  368. package/front_end/third_party/lighthouse/locales/lt.json +90 -87
  369. package/front_end/third_party/lighthouse/locales/lv.json +91 -88
  370. package/front_end/third_party/lighthouse/locales/nl.json +90 -87
  371. package/front_end/third_party/lighthouse/locales/no.json +92 -89
  372. package/front_end/third_party/lighthouse/locales/pl.json +90 -87
  373. package/front_end/third_party/lighthouse/locales/pt-PT.json +111 -108
  374. package/front_end/third_party/lighthouse/locales/pt.json +97 -94
  375. package/front_end/third_party/lighthouse/locales/ro.json +94 -91
  376. package/front_end/third_party/lighthouse/locales/ru.json +93 -90
  377. package/front_end/third_party/lighthouse/locales/sk.json +93 -90
  378. package/front_end/third_party/lighthouse/locales/sl.json +91 -88
  379. package/front_end/third_party/lighthouse/locales/sr-Latn.json +91 -88
  380. package/front_end/third_party/lighthouse/locales/sr.json +91 -88
  381. package/front_end/third_party/lighthouse/locales/sv.json +92 -89
  382. package/front_end/third_party/lighthouse/locales/ta.json +101 -98
  383. package/front_end/third_party/lighthouse/locales/te.json +92 -89
  384. package/front_end/third_party/lighthouse/locales/th.json +95 -92
  385. package/front_end/third_party/lighthouse/locales/tr.json +91 -88
  386. package/front_end/third_party/lighthouse/locales/uk.json +93 -90
  387. package/front_end/third_party/lighthouse/locales/vi.json +95 -92
  388. package/front_end/third_party/lighthouse/locales/zh-HK.json +92 -89
  389. package/front_end/third_party/lighthouse/locales/zh-TW.json +98 -95
  390. package/front_end/third_party/lighthouse/locales/zh.json +96 -93
  391. package/front_end/third_party/puppeteer/README.chromium +2 -2
  392. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +8 -0
  393. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  394. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  395. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  396. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +3 -1
  397. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  398. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -0
  399. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  400. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +1 -0
  401. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  402. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +4 -0
  403. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  404. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  405. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
  406. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  407. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
  408. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  409. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
  410. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  411. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +10 -4
  412. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  413. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  414. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
  415. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -0
  417. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  418. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +7 -0
  419. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  421. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  422. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
  423. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  425. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  426. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +4 -4
  427. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
  428. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  429. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +24 -12
  430. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  431. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
  432. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  433. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
  434. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  435. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +5 -0
  436. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  437. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts +30 -0
  438. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  439. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js +8 -0
  440. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js.map +1 -0
  441. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +1 -0
  442. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
  443. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  444. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  445. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  446. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  447. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
  448. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  449. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  450. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  451. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  452. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  453. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +49 -0
  454. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +118 -88
  455. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +8 -0
  456. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  457. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  458. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  459. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +3 -1
  460. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  461. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -0
  462. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  463. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +1 -0
  464. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  465. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +4 -0
  466. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  467. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  468. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
  469. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  470. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
  471. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  472. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
  473. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  474. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +10 -4
  475. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  476. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  477. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
  478. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
  479. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -0
  480. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  481. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +7 -0
  482. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  483. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  484. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  485. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
  486. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  487. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  488. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  489. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +4 -4
  490. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
  491. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  492. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +24 -12
  493. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  494. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
  495. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  496. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
  497. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  498. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +5 -0
  499. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  500. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts +30 -0
  501. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  502. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js +7 -0
  503. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js.map +1 -0
  504. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +1 -0
  505. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
  506. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  507. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  508. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  509. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
  510. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  511. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  512. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  513. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  514. package/front_end/third_party/puppeteer/package/lib/types.d.ts +49 -0
  515. package/front_end/third_party/puppeteer/package/package.json +3 -3
  516. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +8 -0
  517. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +3 -1
  518. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -0
  519. package/front_end/third_party/puppeteer/package/src/api/Page.ts +5 -0
  520. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
  521. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -3
  522. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
  523. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +11 -0
  524. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
  525. package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +3 -5
  526. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +34 -17
  527. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
  528. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +5 -0
  529. package/front_end/third_party/puppeteer/package/src/common/DownloadBehavior.ts +31 -0
  530. package/front_end/third_party/puppeteer/package/src/common/common.ts +1 -0
  531. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  532. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
  533. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  534. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +1 -0
  535. package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +4 -1
  536. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +78 -0
  537. package/front_end/ui/components/dialogs/ButtonDialog.ts +131 -0
  538. package/front_end/ui/components/dialogs/Dialog.test.ts +43 -0
  539. package/front_end/ui/components/dialogs/Dialog.ts +64 -2
  540. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +15 -1
  541. package/front_end/ui/components/dialogs/ShortcutDialog.ts +28 -20
  542. package/front_end/ui/components/dialogs/buttonDialog.css +9 -0
  543. package/front_end/ui/components/dialogs/dialog.css +15 -0
  544. package/front_end/ui/components/dialogs/dialogs.ts +2 -0
  545. package/front_end/ui/components/dialogs/shortcutDialog.css +34 -6
  546. package/front_end/ui/components/docs/dialog/button_dialog.html +28 -0
  547. package/front_end/ui/components/docs/dialog/button_dialog.ts +29 -0
  548. package/front_end/ui/components/docs/performance_panel/basic.ts +1 -1
  549. package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +6 -4
  550. package/front_end/ui/components/floating_button/FloatingButton.ts +3 -2
  551. package/front_end/ui/components/icon_button/fileSourceIcon.css +7 -3
  552. package/front_end/ui/components/issue_counter/IssueCounter.ts +15 -2
  553. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
  554. package/front_end/ui/components/markdown_view/MarkdownView.ts +15 -0
  555. package/front_end/ui/components/markdown_view/markdownView.css +1 -1
  556. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +24 -18
  557. package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
  558. package/front_end/ui/legacy/Infobar.ts +6 -0
  559. package/front_end/ui/legacy/InspectorView.ts +40 -0
  560. package/front_end/ui/legacy/ListWidget.ts +4 -2
  561. package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
  562. package/front_end/ui/legacy/Toolbar.ts +3 -3
  563. package/front_end/ui/legacy/UIUtils.ts +8 -6
  564. package/front_end/ui/legacy/Widget.ts +32 -0
  565. package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +6 -9
  566. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +35 -34
  567. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -1
  568. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +2 -2
  569. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
  570. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +32 -25
  571. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +18 -4
  572. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +80 -39
  573. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -4
  574. package/front_end/ui/legacy/components/utils/jsUtils.css +8 -0
  575. package/front_end/ui/legacy/filter.css +1 -1
  576. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  577. package/front_end/ui/legacy/listWidget.css +4 -1
  578. package/front_end/ui/legacy/reportView.css +1 -1
  579. package/front_end/ui/legacy/toolbar.css +3 -6
  580. package/front_end/ui/legacy/treeoutline.css +3 -1
  581. package/front_end/ui/visual_logging/KnownContextValues.ts +12 -1
  582. package/front_end/ui/visual_logging/LoggingDriver.test.ts +27 -1
  583. package/front_end/ui/visual_logging/LoggingDriver.ts +7 -4
  584. package/package.json +2 -3
  585. package/scripts/build/wasm-as.py +1 -1
  586. package/scripts/freestyler/auto_freestyler.js +12 -4
  587. package/scripts/freestyler/to_tsv.mjs +40 -0
  588. package/scripts/tools/update_goldens.py +11 -13
  589. package/front_end/panels/timeline/components/insights/SidebarInsight.test.ts +0 -72
  590. package/front_end/ui/components/docs/two_states_counter/basic.html +0 -27
  591. package/front_end/ui/components/docs/two_states_counter/basic.ts +0 -45
  592. package/front_end/ui/components/two_states_counter/TwoStatesCounter.test.ts +0 -73
  593. package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -104
  594. package/front_end/ui/components/two_states_counter/twoStatesCounter.css +0 -37
  595. package/front_end/ui/components/two_states_counter/two_states_counter.ts +0 -9
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "message": "Kunci akses memungkinkan pengguna memfokuskan bagian halaman dengan cepat. Untuk navigasi yang tepat, setiap kunci akses harus unik. [Pelajari lebih lanjut kunci akses](https://dequeuniversity.com/rules/axe/4.9/accesskeys)."
3
+ "message": "Kunci akses memungkinkan pengguna memfokuskan bagian halaman dengan cepat. Untuk navigasi yang tepat, setiap kunci akses harus unik. [Pelajari lebih lanjut kunci akses](https://dequeuniversity.com/rules/axe/4.10/accesskeys)."
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "Nilai `[accesskey]` tidak unik."
@@ -9,7 +9,7 @@
9
9
  "message": "Nilai `[accesskey]` bersifat unik"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "Setiap `role` ARIA mendukung subset tertentu dari atribut `aria-*`. Membatalkan pencocokan ini akan membuat atribut `aria-*` menjadi tidak valid. [Pelajari cara mencocokkan atribut ARIA dengan perannya](https://dequeuniversity.com/rules/axe/4.9/aria-allowed-attr)."
12
+ "message": "Setiap `role` ARIA mendukung subset tertentu dari atribut `aria-*`. Membatalkan pencocokan ini akan membuat atribut `aria-*` menjadi tidak valid. [Pelajari cara mencocokkan atribut ARIA dengan perannya](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": "Atribut `[aria-*]` tidak cocok dengan perannya"
@@ -18,16 +18,16 @@
18
18
  "message": "Atribut `[aria-*]` cocok dengan perannya"
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": "Banyak elemen HTML yang hanya dapat diberi peran ARIA tertentu. Menggunakan peran ARIA yang tidak diizinkan dapat mengganggu aksesibilitas halaman web. [Pelajari lebih lanjut peran ARIA](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role)."
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
- "message": "Uses ARIA roles on incompatible elements"
24
+ "message": "Menggunakan peran ARIA pada elemen yang tidak kompatibel"
25
25
  },
26
26
  "core/audits/accessibility/aria-allowed-role.js | title": {
27
- "message": "Uses ARIA roles only on compatible elements"
27
+ "message": "Menggunakan peran ARIA hanya pada elemen yang kompatibel"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "Jika elemen tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara membuat elemen perintah agar lebih mudah diakses](https://dequeuniversity.com/rules/axe/4.9/aria-command-name)."
30
+ "message": "Jika elemen tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara membuat elemen perintah agar lebih mudah diakses](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": "Elemen `button`, `link`, dan `menuitem` tidak memiliki nama yang dapat diakses."
@@ -36,7 +36,7 @@
36
36
  "message": "Elemen `button`, `link`, dan `menuitem` memiliki nama yang dapat diakses"
37
37
  },
38
38
  "core/audits/accessibility/aria-conditional-attr.js | description": {
39
- "message": "Beberapa atribut ARIA hanya diizinkan pada elemen dalam kondisi tertentu. [Pelajari lebih lanjut atribut ARIA bersyarat](https://dequeuniversity.com/rules/axe/4.9/aria-conditional-attr)."
39
+ "message": "Beberapa atribut ARIA hanya diizinkan pada elemen dalam kondisi tertentu. [Pelajari lebih lanjut atribut ARIA bersyarat](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": "Atribut ARIA tidak digunakan sebagaimana yang ditentukan untuk peran elemen"
@@ -45,7 +45,7 @@
45
45
  "message": "Atribut ARIA digunakan sebagaimana yang ditentukan untuk peran elemen"
46
46
  },
47
47
  "core/audits/accessibility/aria-deprecated-role.js | description": {
48
- "message": "Peran ARIA yang sudah tidak digunakan lagi mungkin tidak akan diproses dengan benar oleh teknologi pendukung. [Pelajari lebih lanjut peran ARIA yang tidak digunakan lagi](https://dequeuniversity.com/rules/axe/4.9/aria-deprecated-role)."
48
+ "message": "Peran ARIA yang sudah tidak digunakan lagi mungkin tidak akan diproses dengan benar oleh teknologi pendukung. [Pelajari lebih lanjut peran ARIA yang tidak digunakan lagi](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": "Menggunakan peran ARIA yang tidak digunakan lagi"
@@ -54,7 +54,7 @@
54
54
  "message": "Tidak menggunakan peran ARIA yang tidak digunakan lagi"
55
55
  },
56
56
  "core/audits/accessibility/aria-dialog-name.js | description": {
57
- "message": "Elemen \"dialog\" ARIA tanpa label aksesibilitas dapat membuat pengguna pembaca layar tidak memahami fungsi elemen ini. [Pelajari cara membuat elemen \"dialog\" ARIA yang lebih mudah diakses](https://dequeuniversity.com/rules/axe/4.9/aria-dialog-name)."
57
+ "message": "Elemen \"dialog\" ARIA tanpa label aksesibilitas dapat membuat pengguna pembaca layar tidak memahami fungsi elemen ini. [Pelajari cara membuat elemen \"dialog\" ARIA yang lebih mudah diakses](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": "Elemen dengan `role=\"dialog\"` atau `role=\"alertdialog\"` tidak memiliki label aksesibilitas."
@@ -63,7 +63,7 @@
63
63
  "message": "Elemen dengan `role=\"dialog\"` atau `role=\"alertdialog\"` memiliki label aksesibilitas."
64
64
  },
65
65
  "core/audits/accessibility/aria-hidden-body.js | description": {
66
- "message": "Teknologi pendukung seperti pembaca layar tidak berfungsi secara konsisten jika `aria-hidden=\"true\"` disetel pada`<body>` dokumen. [Pelajari cara `aria-hidden` memengaruhi isi dokumen](https://dequeuniversity.com/rules/axe/4.9/aria-hidden-body)."
66
+ "message": "Teknologi pendukung seperti pembaca layar tidak berfungsi secara konsisten jika `aria-hidden=\"true\"` disetel pada`<body>` dokumen. [Pelajari cara `aria-hidden` memengaruhi isi dokumen](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\"]` tersedia di `<body>` dokumen"
@@ -72,7 +72,7 @@
72
72
  "message": "`[aria-hidden=\"true\"]` tidak tersedia di `<body>` dokumen"
73
73
  },
74
74
  "core/audits/accessibility/aria-hidden-focus.js | description": {
75
- "message": "Turunan yang dapat difokuskan dalam elemen `[aria-hidden=\"true\"]` mencegah elemen interaktif tersebut tersedia bagi pengguna teknologi pendukung seperti pembaca layar. [Pelajari cara `aria-hidden` memengaruhi elemen yang dapat difokuskan](https://dequeuniversity.com/rules/axe/4.9/aria-hidden-focus)."
75
+ "message": "Turunan yang dapat difokuskan dalam elemen `[aria-hidden=\"true\"]` mencegah elemen interaktif tersebut tersedia bagi pengguna teknologi pendukung seperti pembaca layar. [Pelajari cara `aria-hidden` memengaruhi elemen yang dapat difokuskan](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": "Elemen `[aria-hidden=\"true\"]` memuat turunan yang dapat difokuskan"
@@ -81,7 +81,7 @@
81
81
  "message": "Elemen `[aria-hidden=\"true\"]` tidak memuat turunan yang dapat difokuskan"
82
82
  },
83
83
  "core/audits/accessibility/aria-input-field-name.js | description": {
84
- "message": "Jika kolom input tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut label kolom input](https://dequeuniversity.com/rules/axe/4.9/aria-input-field-name)."
84
+ "message": "Jika kolom input tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut label kolom input](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": "Kolom masukan ARIA tidak memiliki nama yang dapat diakses"
@@ -90,7 +90,7 @@
90
90
  "message": "Kolom masukan ARIA memiliki nama yang dapat diakses"
91
91
  },
92
92
  "core/audits/accessibility/aria-meter-name.js | description": {
93
- "message": "Jika elemen pengukur tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi nama elemen `meter`](https://dequeuniversity.com/rules/axe/4.9/aria-meter-name)."
93
+ "message": "Jika elemen pengukur tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi nama elemen `meter`](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": "Elemen `meter` ARIA tidak memiliki nama yang dapat diakses."
@@ -99,7 +99,7 @@
99
99
  "message": "Elemen `meter` ARIA memiliki nama yang dapat diakses"
100
100
  },
101
101
  "core/audits/accessibility/aria-progressbar-name.js | description": {
102
- "message": "Jika elemen `progressbar` tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi label pada elemen `progressbar`](https://dequeuniversity.com/rules/axe/4.9/aria-progressbar-name)."
102
+ "message": "Jika elemen `progressbar` tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi label pada elemen `progressbar`](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": "Elemen `progressbar` ARIA tidak memiliki nama yang dapat diakses."
@@ -108,7 +108,7 @@
108
108
  "message": "Elemen `progressbar` ARIA memiliki nama yang dapat diakses"
109
109
  },
110
110
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
111
- "message": "Menggunakan atribut ARIA dalam peran yang dilarang dapat menyebabkan informasi yang penting tidak akan disampaikan kepada pengguna teknologi pendukung. [Pelajari lebih lanjut peran ARIA yang dilarang](https://dequeuniversity.com/rules/axe/4.9/aria-prohibited-attr)."
111
+ "message": "Menggunakan atribut ARIA dalam peran yang dilarang dapat menyebabkan informasi yang penting tidak akan disampaikan kepada pengguna teknologi pendukung. [Pelajari lebih lanjut peran ARIA yang dilarang](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": "Elemen menggunakan atribut ARIA yang dilarang"
@@ -117,7 +117,7 @@
117
117
  "message": "Elemen hanya menggunakan atribut ARIA yang diizinkan"
118
118
  },
119
119
  "core/audits/accessibility/aria-required-attr.js | description": {
120
- "message": "Beberapa peran ARIA memiliki atribut wajib yang menjelaskan status elemen ke pembaca layar. [Pelajari lebih lanjut peran dan atribut yang diperlukan](https://dequeuniversity.com/rules/axe/4.9/aria-required-attr)."
120
+ "message": "Beberapa peran ARIA memiliki atribut wajib yang menjelaskan status elemen ke pembaca layar. [Pelajari lebih lanjut peran dan atribut yang diperlukan](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]` tidak memiliki semua atribut `[aria-*]` yang diperlukan"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]` memiliki semua atribut `[aria-*]` yang diperlukan"
127
127
  },
128
128
  "core/audits/accessibility/aria-required-children.js | description": {
129
- "message": "Beberapa peran induk ARIA harus memuat peran turunan tertentu agar dapat menjalankan fungsi aksesibilitas yang diinginkan. [Pelajari lebih lanjut peran dan elemen turunan yang diperlukan](https://dequeuniversity.com/rules/axe/4.9/aria-required-children)."
129
+ "message": "Beberapa peran induk ARIA harus memuat peran turunan tertentu agar dapat menjalankan fungsi aksesibilitas yang diinginkan. [Pelajari lebih lanjut peran dan elemen turunan yang diperlukan](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": "Elemen dengan `[role]` ARIA yang mewajibkan turunannya berisi `[role]` tertentu tidak memiliki beberapa atau semua turunan yang diperlukan."
@@ -135,7 +135,7 @@
135
135
  "message": "Elemen dengan `[role]` ARIA yang mewajibkan turunannya berisi `[role]` tertentu memiliki semua turunan yang diperlukan."
136
136
  },
137
137
  "core/audits/accessibility/aria-required-parent.js | description": {
138
- "message": "Beberapa peran turunan ARIA harus dimuat oleh peran induk tertentu agar dapat menjalankan fungsi aksesibilitas yang diinginkan dengan tepat. [Pelajari lebih lanjut peran ARIA dan elemen induk yang diperlukan](https://dequeuniversity.com/rules/axe/4.9/aria-required-parent)."
138
+ "message": "Beberapa peran turunan ARIA harus dimuat oleh peran induk tertentu agar dapat menjalankan fungsi aksesibilitas yang diinginkan dengan tepat. [Pelajari lebih lanjut peran ARIA dan elemen induk yang diperlukan](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]` tidak dimuat oleh elemen induk wajibnya"
@@ -144,7 +144,7 @@
144
144
  "message": "`[role]` dimuat oleh elemen induk wajibnya"
145
145
  },
146
146
  "core/audits/accessibility/aria-roles.js | description": {
147
- "message": "Peran ARIA harus memiliki nilai yang valid agar dapat menjalankan fungsi aksesibilitas yang diinginkan. [Pelajari lebih lanjut peran ARIA yang valid](https://dequeuniversity.com/rules/axe/4.9/aria-roles)."
147
+ "message": "Peran ARIA harus memiliki nilai yang valid agar dapat menjalankan fungsi aksesibilitas yang diinginkan. [Pelajari lebih lanjut peran ARIA yang valid](https://dequeuniversity.com/rules/axe/4.10/aria-roles)."
148
148
  },
149
149
  "core/audits/accessibility/aria-roles.js | failureTitle": {
150
150
  "message": "Nilai `[role]` tidak valid"
@@ -153,7 +153,7 @@
153
153
  "message": "Nilai `[role]` valid"
154
154
  },
155
155
  "core/audits/accessibility/aria-text.js | description": {
156
- "message": "Menambahkan `role=text` di sekitar node teks yang dipisahkan oleh markup memungkinkan VoiceOver memperlakukannya sebagai satu frasa, tetapi turunan elemen yang dapat difokuskan tidak akan diucapkan. [Pelajari atribut `role=text` lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/aria-text)."
156
+ "message": "Menambahkan `role=text` di sekitar node teks yang dipisahkan oleh markup memungkinkan VoiceOver memperlakukannya sebagai satu frasa, tetapi turunan elemen yang dapat difokuskan tidak akan diucapkan. [Pelajari atribut `role=text` lebih lanjut](https://dequeuniversity.com/rules/axe/4.10/aria-text)."
157
157
  },
158
158
  "core/audits/accessibility/aria-text.js | failureTitle": {
159
159
  "message": "Elemen dengan atribut `role=text` memiliki turunan yang dapat difokuskan."
@@ -162,7 +162,7 @@
162
162
  "message": "Elemen dengan atribut `role=text` tidak memiliki turunan yang dapat difokuskan."
163
163
  },
164
164
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
165
- "message": "Jika kolom tombol tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut kolom tombol](https://dequeuniversity.com/rules/axe/4.9/aria-toggle-field-name)."
165
+ "message": "Jika kolom tombol tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut kolom tombol](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": "Kolom beralih ARIA tidak memiliki nama yang dapat diakses"
@@ -171,7 +171,7 @@
171
171
  "message": "Kolom beralih ARIA memiliki nama yang dapat diakses"
172
172
  },
173
173
  "core/audits/accessibility/aria-tooltip-name.js | description": {
174
- "message": "Jika elemen tooltip tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi nama elemen `tooltip`](https://dequeuniversity.com/rules/axe/4.9/aria-tooltip-name)."
174
+ "message": "Jika elemen tooltip tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara memberi nama elemen `tooltip`](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": "Elemen `tooltip` ARIA tidak memiliki nama yang dapat diakses."
@@ -180,7 +180,7 @@
180
180
  "message": "Elemen `tooltip` ARIA memiliki nama yang dapat diakses"
181
181
  },
182
182
  "core/audits/accessibility/aria-treeitem-name.js | description": {
183
- "message": "Jika elemen `treeitem` tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut cara memberi label pada elemen `treeitem`](https://dequeuniversity.com/rules/axe/4.9/aria-treeitem-name)."
183
+ "message": "Jika elemen `treeitem` tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya dengan nama umum, sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari lebih lanjut cara memberi label pada elemen `treeitem`](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": "Elemen `treeitem` ARIA tidak memiliki nama yang dapat diakses."
@@ -189,7 +189,7 @@
189
189
  "message": "Elemen `treeitem` ARIA memiliki nama yang dapat diakses"
190
190
  },
191
191
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
192
- "message": "Teknologi pendukung, seperti pembaca layar, tidak dapat menafsirkan atribut ARIA dengan nilai yang tidak valid. [Pelajari lebih lanjut nilai yang valid untuk atribut ARIA](https://dequeuniversity.com/rules/axe/4.9/aria-valid-attr-value)."
192
+ "message": "Teknologi pendukung, seperti pembaca layar, tidak dapat menafsirkan atribut ARIA dengan nilai yang tidak valid. [Pelajari lebih lanjut nilai yang valid untuk atribut ARIA](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": "Atribut `[aria-*]` tidak memiliki nilai yang valid"
@@ -198,7 +198,7 @@
198
198
  "message": "Atribut `[aria-*]` memiliki nilai yang valid"
199
199
  },
200
200
  "core/audits/accessibility/aria-valid-attr.js | description": {
201
- "message": "Teknologi pendukung, seperti pembaca layar, tidak dapat menafsirkan atribut ARIA dengan nama yang tidak valid. [Pelajari lebih lanjut atribut ARIA yang valid](https://dequeuniversity.com/rules/axe/4.9/aria-valid-attr)."
201
+ "message": "Teknologi pendukung, seperti pembaca layar, tidak dapat menafsirkan atribut ARIA dengan nama yang tidak valid. [Pelajari lebih lanjut atribut ARIA yang valid](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": "Atribut `[aria-*]` tidak valid atau salah eja"
@@ -210,7 +210,7 @@
210
210
  "message": "Elemen yang Gagal"
211
211
  },
212
212
  "core/audits/accessibility/button-name.js | description": {
213
- "message": "Jika tombol tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya sebagai \"tombol\", sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara membuat tombol lebih mudah diakses](https://dequeuniversity.com/rules/axe/4.9/button-name)."
213
+ "message": "Jika tombol tidak memiliki label aksesibilitas, pembaca layar akan mengucapkannya sebagai \"tombol\", sehingga tidak dapat digunakan oleh pengguna yang mengandalkan pembaca layar. [Pelajari cara membuat tombol lebih mudah diakses](https://dequeuniversity.com/rules/axe/4.10/button-name)."
214
214
  },
215
215
  "core/audits/accessibility/button-name.js | failureTitle": {
216
216
  "message": "Tombol tidak memiliki nama yang dapat diakses"
@@ -219,7 +219,7 @@
219
219
  "message": "Tombol memiliki nama yang dapat diakses"
220
220
  },
221
221
  "core/audits/accessibility/bypass.js | description": {
222
- "message": "Dengan menambahkan cara untuk mengabaikan konten berulang, pengguna keyboard dapat membuka halaman dengan lebih efisien. [Pelajari lebih lanjut cara mengabaikan blok konten](https://dequeuniversity.com/rules/axe/4.9/bypass)."
222
+ "message": "Dengan menambahkan cara untuk mengabaikan konten berulang, pengguna keyboard dapat membuka halaman dengan lebih efisien. [Pelajari lebih lanjut cara mengabaikan blok konten](https://dequeuniversity.com/rules/axe/4.10/bypass)."
223
223
  },
224
224
  "core/audits/accessibility/bypass.js | failureTitle": {
225
225
  "message": "Halaman ini tidak memuat judul, link lewati, atau wilayah landmark"
@@ -228,7 +228,7 @@
228
228
  "message": "Halaman ini memuat judul, link lewati, atau wilayah landmark"
229
229
  },
230
230
  "core/audits/accessibility/color-contrast.js | description": {
231
- "message": "Teks yang memiliki kontras rendah akan sulit atau tidak mungkin dibaca oleh kebanyakan pengguna. [Pelajari cara memberikan kontras warna yang memadai](https://dequeuniversity.com/rules/axe/4.9/color-contrast)."
231
+ "message": "Teks yang memiliki kontras rendah akan sulit atau tidak mungkin dibaca oleh kebanyakan pengguna. [Pelajari cara memberikan kontras warna yang memadai](https://dequeuniversity.com/rules/axe/4.10/color-contrast)."
232
232
  },
233
233
  "core/audits/accessibility/color-contrast.js | failureTitle": {
234
234
  "message": "Warna latar belakang dan latar depan tidak memiliki rasio kontras yang cukup."
@@ -237,7 +237,7 @@
237
237
  "message": "Warna latar belakang dan latar depan memiliki rasio kontras yang cukup"
238
238
  },
239
239
  "core/audits/accessibility/definition-list.js | description": {
240
- "message": "Jika daftar definisi tidak di-markup dengan tepat, pembaca layar dapat menghasilkan output yang membingungkan atau tidak akurat. [Pelajari cara menyusun daftar definisi dengan benar](https://dequeuniversity.com/rules/axe/4.9/definition-list)."
240
+ "message": "Jika daftar definisi tidak di-markup dengan tepat, pembaca layar dapat menghasilkan output yang membingungkan atau tidak akurat. [Pelajari cara menyusun daftar definisi dengan benar](https://dequeuniversity.com/rules/axe/4.10/definition-list)."
241
241
  },
242
242
  "core/audits/accessibility/definition-list.js | failureTitle": {
243
243
  "message": "`<dl>` tidak hanya memuat grup `<dt>` dan `<dd>`, `<script>`, `<template>`, atau elemen `<div>` yang diurutkan dengan tepat."
@@ -246,7 +246,7 @@
246
246
  "message": "`<dl>` hanya memuat grup `<dt>` dan `<dd>`, `<script>`, `<template>`, atau elemen `<div>` yang diurutkan dengan tepat."
247
247
  },
248
248
  "core/audits/accessibility/dlitem.js | description": {
249
- "message": "Item daftar definisi (`<dt>` dan `<dd>`) harus tergabung dalam elemen `<dl>` induk untuk memastikan bahwa pembaca layar dapat mengucapkannya dengan tepat. [Pelajari cara menyusun daftar definisi dengan benar](https://dequeuniversity.com/rules/axe/4.9/dlitem)."
249
+ "message": "Item daftar definisi (`<dt>` dan `<dd>`) harus tergabung dalam elemen `<dl>` induk untuk memastikan bahwa pembaca layar dapat mengucapkannya dengan tepat. [Pelajari cara menyusun daftar definisi dengan benar](https://dequeuniversity.com/rules/axe/4.10/dlitem)."
250
250
  },
251
251
  "core/audits/accessibility/dlitem.js | failureTitle": {
252
252
  "message": "Item daftar definisi tidak tergabung dalam elemen `<dl>`"
@@ -255,7 +255,7 @@
255
255
  "message": "Item daftar definisi tergabung dalam elemen `<dl>`"
256
256
  },
257
257
  "core/audits/accessibility/document-title.js | description": {
258
- "message": "Judul ini menunjukkan ringkasan halaman kepada pengguna pembaca layar, dan pengguna mesin telusur sangat mengandalkan judul tersebut untuk menentukan apakah halaman relevan dengan penelusurannya atau tidak. [Pelajari lebih lanjut judul dokumen](https://dequeuniversity.com/rules/axe/4.9/document-title)."
258
+ "message": "Judul ini menunjukkan ringkasan halaman kepada pengguna pembaca layar, dan pengguna mesin telusur sangat mengandalkan judul tersebut untuk menentukan apakah halaman relevan dengan penelusurannya atau tidak. [Pelajari lebih lanjut judul dokumen](https://dequeuniversity.com/rules/axe/4.10/document-title)."
259
259
  },
260
260
  "core/audits/accessibility/document-title.js | failureTitle": {
261
261
  "message": "Dokumen tidak memiliki elemen `<title>`"
@@ -264,7 +264,7 @@
264
264
  "message": "Dokumen memiliki elemen `<title>`"
265
265
  },
266
266
  "core/audits/accessibility/duplicate-id-aria.js | description": {
267
- "message": "Nilai ID ARIA harus unik untuk mencegah instance lain terabaikan oleh teknologi pendukung. [Pelajari cara memperbaiki ID ARIA duplikat](https://dequeuniversity.com/rules/axe/4.9/duplicate-id-aria)."
267
+ "message": "Nilai ID ARIA harus unik untuk mencegah instance lain terabaikan oleh teknologi pendukung. [Pelajari cara memperbaiki ID ARIA duplikat](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": "ID ARIA tidak unik"
@@ -273,7 +273,7 @@
273
273
  "message": "ID ARIA unik"
274
274
  },
275
275
  "core/audits/accessibility/empty-heading.js | description": {
276
- "message": "Judul tanpa konten atau teks yang tidak dapat diakses membuat pengguna pembaca layar tidak dapat mengakses informasi di struktur halaman. [Pelajari judul lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/empty-heading)."
276
+ "message": "Judul tanpa konten atau teks yang tidak dapat diakses membuat pengguna pembaca layar tidak dapat mengakses informasi di struktur halaman. [Pelajari judul lebih lanjut](https://dequeuniversity.com/rules/axe/4.10/empty-heading)."
277
277
  },
278
278
  "core/audits/accessibility/empty-heading.js | failureTitle": {
279
279
  "message": "Elemen \"heading\" tidak berisi konten."
@@ -282,7 +282,7 @@
282
282
  "message": "Semua elemen \"heading\" berisi konten."
283
283
  },
284
284
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
285
- "message": "Teknologi pendukung seperti pembaca layar yang menggunakan label pertama, terakhir, atau semua label mungkin akan salah mengucapkan kolom formulir yang memiliki beberapa label. [Pelajari cara menggunakan label formulir](https://dequeuniversity.com/rules/axe/4.9/form-field-multiple-labels)."
285
+ "message": "Teknologi pendukung seperti pembaca layar yang menggunakan label pertama, terakhir, atau semua label mungkin akan salah mengucapkan kolom formulir yang memiliki beberapa label. [Pelajari cara menggunakan label formulir](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": "Kolom formulir memiliki beberapa label"
@@ -291,7 +291,7 @@
291
291
  "message": "Tidak ada kolom formulir yang memiliki beberapa label"
292
292
  },
293
293
  "core/audits/accessibility/frame-title.js | description": {
294
- "message": "Pengguna pembaca layar mengandalkan judul bingkai untuk menjelaskan isi bingkai. [Pelajari lebih lanjut judul bingkai](https://dequeuniversity.com/rules/axe/4.9/frame-title)."
294
+ "message": "Pengguna pembaca layar mengandalkan judul bingkai untuk menjelaskan isi bingkai. [Pelajari lebih lanjut judul bingkai](https://dequeuniversity.com/rules/axe/4.10/frame-title)."
295
295
  },
296
296
  "core/audits/accessibility/frame-title.js | failureTitle": {
297
297
  "message": "Elemen `<frame>` atau `<iframe>` tidak memiliki judul"
@@ -300,7 +300,7 @@
300
300
  "message": "Elemen `<frame>` atau `<iframe>` memiliki judul"
301
301
  },
302
302
  "core/audits/accessibility/heading-order.js | description": {
303
- "message": "Judul yang diurutkan dengan benar yang tidak melewati level akan menyampaikan struktur semantik halaman, membuatnya lebih mudah dilihat dan dipahami ketika menggunakan teknologi pendukung. [Pelajari lebih lanjut urutan judul](https://dequeuniversity.com/rules/axe/4.9/heading-order)."
303
+ "message": "Judul yang diurutkan dengan benar yang tidak melewati level akan menyampaikan struktur semantik halaman, membuatnya lebih mudah dilihat dan dipahami ketika menggunakan teknologi pendukung. [Pelajari lebih lanjut urutan judul](https://dequeuniversity.com/rules/axe/4.10/heading-order)."
304
304
  },
305
305
  "core/audits/accessibility/heading-order.js | failureTitle": {
306
306
  "message": "Elemen judul muncul tidak dalam urutan menurun yang berurutan"
@@ -309,7 +309,7 @@
309
309
  "message": "Elemen judul muncul dalam urutan menurun yang berurutan"
310
310
  },
311
311
  "core/audits/accessibility/html-has-lang.js | description": {
312
- "message": "Jika halaman tidak menentukan atribut `lang`, pembaca layar akan mengasumsikan bahwa halaman menggunakan bahasa default yang dipilih pengguna saat menyiapkan pembaca layar. Jika halaman tidak dalam bahasa default, pembaca layar mungkin tidak dapat mengucapkan teks di halaman tersebut dengan benar. [Pelajari lebih atribut lanjut `lang`](https://dequeuniversity.com/rules/axe/4.9/html-has-lang)."
312
+ "message": "Jika halaman tidak menentukan atribut `lang`, pembaca layar akan mengasumsikan bahwa halaman menggunakan bahasa default yang dipilih pengguna saat menyiapkan pembaca layar. Jika halaman tidak dalam bahasa default, pembaca layar mungkin tidak dapat mengucapkan teks di halaman tersebut dengan benar. [Pelajari lebih atribut lanjut `lang`](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": "Elemen `<html>` tidak memiliki atribut `[lang]`"
@@ -318,7 +318,7 @@
318
318
  "message": "Elemen `<html>` memiliki atribut `[lang]`"
319
319
  },
320
320
  "core/audits/accessibility/html-lang-valid.js | description": {
321
- "message": "Menentukan [bahasa BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) yang valid akan membantu pembaca layar mengucapkan teks dengan tepat. [Pelajari cara menggunakan atribut `lang`](https://dequeuniversity.com/rules/axe/4.9/html-lang-valid)."
321
+ "message": "Menentukan [bahasa BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) yang valid akan membantu pembaca layar mengucapkan teks dengan tepat. [Pelajari cara menggunakan atribut `lang`](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": "Elemen `<html>` tidak memiliki nilai yang valid untuk atribut `[lang]`-nya."
@@ -327,7 +327,7 @@
327
327
  "message": "Elemen `<html>` memiliki nilai yang valid untuk atribut `[lang]`-nya"
328
328
  },
329
329
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
330
- "message": "Jika halaman tidak menentukan bahasa yang konsisten, pembaca layar mungkin tidak dapat membacakan teks di halaman tersebut dengan benar. [Pelajari atribut lebih lanjut `lang`](https://dequeuniversity.com/rules/axe/4.9/html-xml-lang-mismatch)."
330
+ "message": "Jika halaman tidak menentukan bahasa yang konsisten, pembaca layar mungkin tidak dapat membacakan teks di halaman tersebut dengan benar. [Pelajari atribut lebih lanjut `lang`](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": "Elemen `<html>` tidak memiliki atribut `[xml:lang]` dengan bahasa dasar yang sama dengan atribut `[lang]`."
@@ -336,7 +336,7 @@
336
336
  "message": "Elemen `<html>` memiliki atribut `[xml:lang]` dengan bahasa dasar yang sama dengan atribut `[lang]`."
337
337
  },
338
338
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
339
- "message": "Link dengan tujuan yang sama harus memiliki deskripsi yang sama, untuk membantu pengguna memahami tujuan link dan memutuskan apakah akan mengikutinya atau tidak. [Pelajari tentang link yang identik lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/identical-links-same-purpose)."
339
+ "message": "Link dengan tujuan yang sama harus memiliki deskripsi yang sama, untuk membantu pengguna memahami tujuan link dan memutuskan apakah akan mengikutinya atau tidak. [Pelajari tentang link yang identik lebih lanjut](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": "Link yang identik tidak memiliki fungsi yang sama."
@@ -345,7 +345,7 @@
345
345
  "message": "Link yang identik memiliki fungsi yang sama."
346
346
  },
347
347
  "core/audits/accessibility/image-alt.js | description": {
348
- "message": "Elemen informatif harus memberikan teks alternatif yang singkat dan deskriptif. Elemen dekoratif dapat diabaikan dengan atribut alt kosong. [Pelajari atribut lebih lanjut `alt`](https://dequeuniversity.com/rules/axe/4.9/image-alt)."
348
+ "message": "Elemen informatif harus memberikan teks alternatif yang singkat dan deskriptif. Elemen dekoratif dapat diabaikan dengan atribut alt kosong. [Pelajari atribut lebih lanjut `alt`](https://dequeuniversity.com/rules/axe/4.10/image-alt)."
349
349
  },
350
350
  "core/audits/accessibility/image-alt.js | failureTitle": {
351
351
  "message": "Elemen gambar tidak memiliki atribut `[alt]`"
@@ -354,7 +354,7 @@
354
354
  "message": "Elemen halaman memiliki atribut `[alt]`"
355
355
  },
356
356
  "core/audits/accessibility/image-redundant-alt.js | description": {
357
- "message": "Elemen informatif harus memberikan teks alternatif yang singkat dan deskriptif. Teks alternatif yang sama persis dengan teks di samping link atau gambar berpotensi membingungkan pengguna pembaca layar, karena teks akan dibaca dua kali. [Pelajari atribut lebih lanjut `alt`](https://dequeuniversity.com/rules/axe/4.9/image-redundant-alt)."
357
+ "message": "Elemen informatif harus memberikan teks alternatif yang singkat dan deskriptif. Teks alternatif yang sama persis dengan teks di samping link atau gambar berpotensi membingungkan pengguna pembaca layar, karena teks akan dibaca dua kali. [Pelajari atribut lebih lanjut `alt`](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": "Elemen gambar memiliki atribut `[alt]` yang merupakan teks berlebihan."
@@ -363,7 +363,7 @@
363
363
  "message": "Elemen gambar tidak memiliki atribut `[alt]` yang merupakan teks berlebihan."
364
364
  },
365
365
  "core/audits/accessibility/input-button-name.js | description": {
366
- "message": "Menambahkan teks yang jelas dan mudah diakses ke tombol input dapat membantu pengguna pembaca layar memahami tujuan tombol input. [Pelajari tombol input lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/input-button-name)."
366
+ "message": "Menambahkan teks yang jelas dan mudah diakses ke tombol input dapat membantu pengguna pembaca layar memahami tujuan tombol input. [Pelajari tombol input lebih lanjut](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": "Tombol input tidak memiliki teks yang jelas."
@@ -372,7 +372,7 @@
372
372
  "message": "Tombol input memiliki teks yang jelas."
373
373
  },
374
374
  "core/audits/accessibility/input-image-alt.js | description": {
375
- "message": "Saat suatu gambar digunakan sebagai tombol `<input>`, penyediaan teks alternatif dapat membantu pengguna pembaca layar memahami fungsi tombol tersebut. [Pelajari teks alternatif gambar input](https://dequeuniversity.com/rules/axe/4.9/input-image-alt)."
375
+ "message": "Saat suatu gambar digunakan sebagai tombol `<input>`, penyediaan teks alternatif dapat membantu pengguna pembaca layar memahami fungsi tombol tersebut. [Pelajari teks alternatif gambar input](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": "Elemen `<input type=\"image\">` tidak memiliki teks `[alt]`"
@@ -381,7 +381,7 @@
381
381
  "message": "Elemen `<input type=\"image\">` memiliki teks `[alt]`"
382
382
  },
383
383
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
384
- "message": "Label teks yang terlihat dan tidak cocok dengan label aksesibilitas dapat menyebabkan pengalaman yang membingungkan bagi pengguna pembaca layar. [Pelajari lebih lanjut label aksesibilitas](https://dequeuniversity.com/rules/axe/4.9/label-content-name-mismatch)."
384
+ "message": "Label teks yang terlihat dan tidak cocok dengan label aksesibilitas dapat menyebabkan pengalaman yang membingungkan bagi pengguna pembaca layar. [Pelajari lebih lanjut label aksesibilitas](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": "Elemen dengan label teks yang terlihat tidak memiliki label aksesibilitas yang cocok."
@@ -390,7 +390,7 @@
390
390
  "message": "Elemen dengan label teks yang terlihat memiliki label aksesibilitas yang cocok."
391
391
  },
392
392
  "core/audits/accessibility/label.js | description": {
393
- "message": "Label memastikan bahwa kontrol bentuk diucapkan dengan tepat oleh teknologi pendukung, seperti pembaca layar. [Pelajari lebih lanjut label elemen formulir](https://dequeuniversity.com/rules/axe/4.9/label)."
393
+ "message": "Label memastikan bahwa kontrol bentuk diucapkan dengan tepat oleh teknologi pendukung, seperti pembaca layar. [Pelajari lebih lanjut label elemen formulir](https://dequeuniversity.com/rules/axe/4.10/label)."
394
394
  },
395
395
  "core/audits/accessibility/label.js | failureTitle": {
396
396
  "message": "Elemen formulir tidak memiliki label yang terkait"
@@ -399,7 +399,7 @@
399
399
  "message": "Elemen formulir memiliki label yang terkait"
400
400
  },
401
401
  "core/audits/accessibility/landmark-one-main.js | description": {
402
- "message": "Satu penanda utama membantu pengguna pembaca layar membuka halaman web. [Pelajari penanda lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/landmark-one-main)."
402
+ "message": "Satu penanda utama membantu pengguna pembaca layar membuka halaman web. [Pelajari penanda lebih lanjut](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": "Dokumen tidak memiliki penanda utama."
@@ -408,7 +408,7 @@
408
408
  "message": "Dokumen memiliki penanda utama."
409
409
  },
410
410
  "core/audits/accessibility/link-in-text-block.js | description": {
411
- "message": "Teks yang memiliki kontras rendah akan sulit atau tidak mungkin dibaca oleh kebanyakan pengguna. Teks link yang jelas meningkatkan pengalaman bagi pengguna dengan gangguan penglihatan. [Pelajari cara membuat link yang mudah dibedakan](https://dequeuniversity.com/rules/axe/4.9/link-in-text-block)."
411
+ "message": "Teks yang memiliki kontras rendah akan sulit atau tidak mungkin dibaca oleh kebanyakan pengguna. Teks link yang jelas meningkatkan pengalaman bagi pengguna dengan gangguan penglihatan. [Pelajari cara membuat link yang mudah dibedakan](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": "Link bergantung pada warna agar dapat dibedakan."
@@ -417,7 +417,7 @@
417
417
  "message": "Link dapat dibedakan tanpa bergantung pada warna."
418
418
  },
419
419
  "core/audits/accessibility/link-name.js | description": {
420
- "message": "Teks link (dan teks alternatif untuk gambar, saat digunakan sebagai link) yang mudah dilihat, unik, dan dapat difokuskan akan meningkatkan kualitas pengalaman navigasi bagi pengguna pembaca layar. [Pelajari cara membuat link dapat diakses](https://dequeuniversity.com/rules/axe/4.9/link-name)."
420
+ "message": "Teks link (dan teks alternatif untuk gambar, saat digunakan sebagai link) yang mudah dilihat, unik, dan dapat difokuskan akan meningkatkan kualitas pengalaman navigasi bagi pengguna pembaca layar. [Pelajari cara membuat link dapat diakses](https://dequeuniversity.com/rules/axe/4.10/link-name)."
421
421
  },
422
422
  "core/audits/accessibility/link-name.js | failureTitle": {
423
423
  "message": "Link tidak memiliki nama yang dapat dikenali"
@@ -426,7 +426,7 @@
426
426
  "message": "Link memiliki nama yang dapat dikenali"
427
427
  },
428
428
  "core/audits/accessibility/list.js | description": {
429
- "message": "Pembaca layar memiliki cara tertentu untuk membacakan daftar. Memastikan struktur daftar dengan tepat akan membantu output pembaca layar. [Pelajari lebih lanjut struktur daftar yang tepat](https://dequeuniversity.com/rules/axe/4.9/list)."
429
+ "message": "Pembaca layar memiliki cara tertentu untuk membacakan daftar. Memastikan struktur daftar dengan tepat akan membantu output pembaca layar. [Pelajari lebih lanjut struktur daftar yang tepat](https://dequeuniversity.com/rules/axe/4.10/list)."
430
430
  },
431
431
  "core/audits/accessibility/list.js | failureTitle": {
432
432
  "message": "Daftar tidak hanya berisi elemen `<li>` dan skrip yang mendukung elemen (`<script>` dan `<template>`)."
@@ -435,7 +435,7 @@
435
435
  "message": "Daftar hanya memuat elemen `<li>` dan skrip yang mendukung elemen (`<script>` dan `<template>`)."
436
436
  },
437
437
  "core/audits/accessibility/listitem.js | description": {
438
- "message": "Pembaca layar mengharuskan item daftar (`<li>`) untuk dimuat dalam `<ul>`, `<ol>`, atau `<menu>` induk agar dapat diucapkan dengan tepat. [Pelajari lebih lanjut struktur daftar yang tepat](https://dequeuniversity.com/rules/axe/4.9/listitem)."
438
+ "message": "Pembaca layar mengharuskan item daftar (`<li>`) untuk dimuat dalam `<ul>`, `<ol>`, atau `<menu>` induk agar dapat diucapkan dengan tepat. [Pelajari lebih lanjut struktur daftar yang tepat](https://dequeuniversity.com/rules/axe/4.10/listitem)."
439
439
  },
440
440
  "core/audits/accessibility/listitem.js | failureTitle": {
441
441
  "message": "Daftar item (`<li>`) tidak dimuat dalam elemen induk `<ul>`, `<ol>`, atau `<menu>`."
@@ -444,7 +444,7 @@
444
444
  "message": "Item daftar (`<li>`) dimuat dalam elemen induk `<ul>`, `<ol>`, atau `<menu>`"
445
445
  },
446
446
  "core/audits/accessibility/meta-refresh.js | description": {
447
- "message": "Pengguna tidak mengharapkan halaman dimuat ulang secara otomatis, karena tindakan tersebut akan memindahkan fokus kembali ke bagian atas halaman. Hal ini dapat menimbulkan pengalaman yang menjengkelkan atau membingungkan. [Pelajari lebih lanjut tag meta refresh](https://dequeuniversity.com/rules/axe/4.9/meta-refresh)."
447
+ "message": "Pengguna tidak mengharapkan halaman dimuat ulang secara otomatis, karena tindakan tersebut akan memindahkan fokus kembali ke bagian atas halaman. Hal ini dapat menimbulkan pengalaman yang menjengkelkan atau membingungkan. [Pelajari lebih lanjut tag meta refresh](https://dequeuniversity.com/rules/axe/4.10/meta-refresh)."
448
448
  },
449
449
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
450
450
  "message": "Dokumen menggunakan `<meta http-equiv=\"refresh\">`"
@@ -453,7 +453,7 @@
453
453
  "message": "Dokumen tidak menggunakan `<meta http-equiv=\"refresh\">`"
454
454
  },
455
455
  "core/audits/accessibility/meta-viewport.js | description": {
456
- "message": "Menonaktifkan zoom akan menimbulkan masalah bagi pengguna dengan gangguan penglihatan yang mengandalkan pembesaran layar untuk melihat konten halaman dengan baik. [Pelajari lebih lanjut tag meta viewport](https://dequeuniversity.com/rules/axe/4.9/meta-viewport)."
456
+ "message": "Menonaktifkan zoom akan menimbulkan masalah bagi pengguna dengan gangguan penglihatan yang mengandalkan pembesaran layar untuk melihat konten halaman dengan baik. [Pelajari lebih lanjut tag meta viewport](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\"]` digunakan dalam elemen `<meta name=\"viewport\">` atau atribut `[maximum-scale]` kurang dari 5."
@@ -462,7 +462,7 @@
462
462
  "message": "`[user-scalable=\"no\"]` tidak digunakan dalam elemen `<meta name=\"viewport\">` dan atribut `[maximum-scale]` tidak kurang dari 5."
463
463
  },
464
464
  "core/audits/accessibility/object-alt.js | description": {
465
- "message": "Pembaca layar tidak dapat menerjemahkan konten yang bukan teks. Menambahkan teks alternatif ke elemen `<object>` akan membantu pembaca layar menyampaikan makna kepada pengguna. [Pelajari lebih lanjut teks alternatif untuk elemen `object`](https://dequeuniversity.com/rules/axe/4.9/object-alt)."
465
+ "message": "Pembaca layar tidak dapat menerjemahkan konten yang bukan teks. Menambahkan teks alternatif ke elemen `<object>` akan membantu pembaca layar menyampaikan makna kepada pengguna. [Pelajari lebih lanjut teks alternatif untuk elemen `object`](https://dequeuniversity.com/rules/axe/4.10/object-alt)."
466
466
  },
467
467
  "core/audits/accessibility/object-alt.js | failureTitle": {
468
468
  "message": "Elemen `<object>` tidak memiliki teks alternatif"
@@ -471,7 +471,7 @@
471
471
  "message": "Elemen `<object>` memiliki teks alternatif"
472
472
  },
473
473
  "core/audits/accessibility/select-name.js | description": {
474
- "message": "Elemen \"form\" tanpa label yang efektif dapat menciptakan pengalaman yang membingungkan bagi pengguna pembaca layar. [Pelajari elemen `select` lebih lanjut ](https://dequeuniversity.com/rules/axe/4.9/select-name)."
474
+ "message": "Elemen \"form\" tanpa label yang efektif dapat menciptakan pengalaman yang membingungkan bagi pengguna pembaca layar. [Pelajari elemen `select` lebih lanjut ](https://dequeuniversity.com/rules/axe/4.10/select-name)."
475
475
  },
476
476
  "core/audits/accessibility/select-name.js | failureTitle": {
477
477
  "message": "Elemen \"select\" tidak memiliki elemen label terkait."
@@ -480,7 +480,7 @@
480
480
  "message": "Elemen \"select\" memiliki elemen label terkait."
481
481
  },
482
482
  "core/audits/accessibility/skip-link.js | description": {
483
- "message": "Menyertakan link lewati dapat membantu pengguna melewati konten utama untuk menghemat waktu. [Pelajari lebih lanjut link lewati](https://dequeuniversity.com/rules/axe/4.9/skip-link)."
483
+ "message": "Menyertakan link lewati dapat membantu pengguna melewati konten utama untuk menghemat waktu. [Pelajari lebih lanjut link lewati](https://dequeuniversity.com/rules/axe/4.10/skip-link)."
484
484
  },
485
485
  "core/audits/accessibility/skip-link.js | failureTitle": {
486
486
  "message": "Link lewati tidak dapat difokuskan."
@@ -489,7 +489,7 @@
489
489
  "message": "Link lewati dapat difokuskan."
490
490
  },
491
491
  "core/audits/accessibility/tabindex.js | description": {
492
- "message": "Nilai yang lebih besar dari 0 menunjukkan pengurutan navigasi eksplisit. Walaupun secara teknis valid, hal ini sering menciptakan pengalaman yang membingungkan bagi pengguna yang mengandalkan teknologi pendukung. [Pelajari atribut lebih lanjut `tabindex`](https://dequeuniversity.com/rules/axe/4.9/tabindex)."
492
+ "message": "Nilai yang lebih besar dari 0 menunjukkan pengurutan navigasi eksplisit. Walaupun secara teknis valid, hal ini sering menciptakan pengalaman yang membingungkan bagi pengguna yang mengandalkan teknologi pendukung. [Pelajari atribut lebih lanjut `tabindex`](https://dequeuniversity.com/rules/axe/4.10/tabindex)."
493
493
  },
494
494
  "core/audits/accessibility/tabindex.js | failureTitle": {
495
495
  "message": "Beberapa elemen memiliki nilai `[tabindex]` yang lebih besar dari 0"
@@ -498,7 +498,7 @@
498
498
  "message": "Tidak ada elemen yang memiliki nilai `[tabindex]` lebih besar dari 0"
499
499
  },
500
500
  "core/audits/accessibility/table-duplicate-name.js | description": {
501
- "message": "Atribut ringkasan harus mendeskripsikan struktur tabel, sedangkan `<caption>` harus memiliki judul di layar. Markup tabel yang akurat akan membantu pengguna pembaca layar. [Pelajari lebih lanjut ringkasan dan teks](https://dequeuniversity.com/rules/axe/4.9/table-duplicate-name)."
501
+ "message": "Atribut ringkasan harus mendeskripsikan struktur tabel, sedangkan `<caption>` harus memiliki judul di layar. Markup tabel yang akurat akan membantu pengguna pembaca layar. [Pelajari lebih lanjut ringkasan dan teks](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": "Tabel memiliki konten yang sama di atribut ringkasan dan `<caption>.`"
@@ -507,7 +507,7 @@
507
507
  "message": "Tabel memiliki konten yang berbeda di atribut ringkasan dan `<caption>`."
508
508
  },
509
509
  "core/audits/accessibility/table-fake-caption.js | description": {
510
- "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan tabel menggunakan elemen teks yang sebenarnya, bukan sel dengan atribut `[colspan]`, dapat meningkatkan pengalaman bagi pengguna pembaca layar. [Pelajari teks lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/table-fake-caption)."
510
+ "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan tabel menggunakan elemen teks yang sebenarnya, bukan sel dengan atribut `[colspan]`, dapat meningkatkan pengalaman bagi pengguna pembaca layar. [Pelajari teks lebih lanjut](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": "Tabel tidak menggunakan `<caption>`, bukan sel dengan atribut `[colspan]`, untuk menunjukkan teks."
@@ -516,7 +516,7 @@
516
516
  "message": "Tabel menggunakan `<caption>`, bukan sel dengan atribut `[colspan]` untuk menunjukkan teks."
517
517
  },
518
518
  "core/audits/accessibility/target-size.js | description": {
519
- "message": "Target sentuh dengan ukuran dan spasi yang memadai membantu pengguna yang kesulitan mengetuk kontrol kecil untuk mengaktifkan target. [Pelajari target sentuh lebih lanjut](https://dequeuniversity.com/rules/axe/4.9/target-size)."
519
+ "message": "Target sentuh dengan ukuran dan spasi yang memadai membantu pengguna yang kesulitan mengetuk kontrol kecil untuk mengaktifkan target. [Pelajari target sentuh lebih lanjut](https://dequeuniversity.com/rules/axe/4.10/target-size)."
520
520
  },
521
521
  "core/audits/accessibility/target-size.js | failureTitle": {
522
522
  "message": "Target sentuh tidak memiliki ukuran atau spasi yang memadai."
@@ -525,7 +525,7 @@
525
525
  "message": "Target sentuh memiliki ukuran dan spasi yang memadai."
526
526
  },
527
527
  "core/audits/accessibility/td-has-header.js | description": {
528
- "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan elemen `<td>` dalam tabel besar (lebar atau tinggi 3 sel atau lebih) memiliki header tabel terkait dapat meningkatkan kualitas pengalaman pengguna pembaca layar. [Pelajari lebih lanjut header tabel](https://dequeuniversity.com/rules/axe/4.9/td-has-header)."
528
+ "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan elemen `<td>` dalam tabel besar (lebar atau tinggi 3 sel atau lebih) memiliki header tabel terkait dapat meningkatkan kualitas pengalaman pengguna pembaca layar. [Pelajari lebih lanjut header tabel](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": "Elemen `<td>` dalam `<table>` besar tidak memiliki header tabel."
@@ -534,7 +534,7 @@
534
534
  "message": "Elemen `<td>` dalam `<table>` besar memiliki satu atau beberapa header tabel."
535
535
  },
536
536
  "core/audits/accessibility/td-headers-attr.js | description": {
537
- "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan sel `<td>` yang menggunakan atribut `[headers]` hanya merujuk ke sel lain dalam tabel yang sama dapat meningkatkan kualitas pengalaman bagi pengguna pembaca layar. [Pelajari lebih lanjut atribut `headers`](https://dequeuniversity.com/rules/axe/4.9/td-headers-attr)."
537
+ "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan sel `<td>` yang menggunakan atribut `[headers]` hanya merujuk ke sel lain dalam tabel yang sama dapat meningkatkan kualitas pengalaman bagi pengguna pembaca layar. [Pelajari lebih lanjut atribut `headers`](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": "Sel di elemen `<table>` yang menggunakan atribut `[headers]` yang merujuk pada elemen `id` tidak ditemukan dalam tabel yang sama."
@@ -543,7 +543,7 @@
543
543
  "message": "Sel dalam elemen `<table>` yang menggunakan atribut `[headers]` merujuk pada sel tabel dalam tabel yang sama."
544
544
  },
545
545
  "core/audits/accessibility/th-has-data-cells.js | description": {
546
- "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan header tabel selalu merujuk ke sekumpulan sel dapat meningkatkan kualitas pengalaman bagi pengguna pembaca layar. [Pelajari lebih lanjut header tabel](https://dequeuniversity.com/rules/axe/4.9/th-has-data-cells)."
546
+ "message": "Pembaca layar memiliki fitur yang memudahkan navigasi tabel. Memastikan header tabel selalu merujuk ke sekumpulan sel dapat meningkatkan kualitas pengalaman bagi pengguna pembaca layar. [Pelajari lebih lanjut header tabel](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": "Elemen `<th>` dan elemen dengan `[role=\"columnheader\"/\"rowheader\"]` tidak memiliki sel data yang dideskripsikannya."
@@ -552,7 +552,7 @@
552
552
  "message": "Elemen `<th>` dan elemen dengan `[role=\"columnheader\"/\"rowheader\"]` memiliki sel data yang dideskripsikan."
553
553
  },
554
554
  "core/audits/accessibility/valid-lang.js | description": {
555
- "message": "Menentukan [bahasa BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) yang valid pada elemen membantu memastikan bahwa teks diucapkan dengan benar oleh pembaca layar. [Pelajari cara menggunakan atribut `lang`](https://dequeuniversity.com/rules/axe/4.9/valid-lang)."
555
+ "message": "Menentukan [bahasa BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) yang valid pada elemen membantu memastikan bahwa teks diucapkan dengan benar oleh pembaca layar. [Pelajari cara menggunakan atribut `lang`](https://dequeuniversity.com/rules/axe/4.10/valid-lang)."
556
556
  },
557
557
  "core/audits/accessibility/valid-lang.js | failureTitle": {
558
558
  "message": "Atribut `[lang]` tidak memiliki nilai yang valid"
@@ -561,7 +561,7 @@
561
561
  "message": "Atribut `[lang]` memiliki nilai yang valid"
562
562
  },
563
563
  "core/audits/accessibility/video-caption.js | description": {
564
- "message": "Video yang menyediakan teks akan memudahkan pengguna yang menyandang gangguan pendengaran dan tunarungu untuk mengakses informasinya. [Pelajari lebih lanjut teks video](https://dequeuniversity.com/rules/axe/4.9/video-caption)."
564
+ "message": "Video yang menyediakan teks akan memudahkan pengguna yang menyandang gangguan pendengaran dan tunarungu untuk mengakses informasinya. [Pelajari lebih lanjut teks video](https://dequeuniversity.com/rules/axe/4.10/video-caption)."
565
565
  },
566
566
  "core/audits/accessibility/video-caption.js | failureTitle": {
567
567
  "message": "Elemen `<video>` tidak memuat elemen `<track>` dengan `[kind=\"captions\"]`."
@@ -1101,7 +1101,7 @@
1101
1101
  "message": "Gambar Largest Contentful Paint tidak dimuat dengan lambat"
1102
1102
  },
1103
1103
  "core/audits/long-tasks.js | description": {
1104
- "message": "Mencantumkan tugas yang berjalan paling lama di thread utama, berguna untuk mengidentifikasi kontributor utama penundaan input. [Pelajari cara menghindari tugas thread utama yang berjalan lama](https://web.dev/articles/long-tasks-devtools)"
1104
+ "message": "Mencantumkan tugas yang berjalan paling lama di thread utama, berguna untuk mengidentifikasi kontributor utama penundaan input. [Pelajari cara menghindari tugas thread utama yang berjalan lama](https://web.dev/articles/optimize-long-tasks)"
1105
1105
  },
1106
1106
  "core/audits/long-tasks.js | displayValue": {
1107
1107
  "message": "{itemCount,plural, =1{# tugas berjalan lama}other{# tugas berjalan lama}}"
@@ -1377,7 +1377,7 @@
1377
1377
  "message": "Respons server awal memakan waktu singkat"
1378
1378
  },
1379
1379
  "core/audits/third-party-cookies.js | description": {
1380
- "message": "Dukungan untuk cookie pihak ketiga akan dihapus di Chrome versi mendatang. [Pelajari lebih lanjut penghentian bertahap penggunaan cookie pihak ketiga](https://developer.chrome.com/en/docs/privacy-sandbox/third-party-cookie-phase-out/)."
1380
+ "message": "Chrome beralih ke pengalaman baru yang memungkinkan pengguna memilih untuk menjelajah tanpa cookie pihak ketiga. [Pelajari lebih lanjut cookie pihak ketiga](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 ditemukan}other{# cookie ditemukan}}"
@@ -1665,7 +1665,7 @@
1665
1665
  "message": "Waktu penghapusan cache browser habis. Coba audit halaman ini lagi dan laporkan bug jika masalah berlanjut."
1666
1666
  },
1667
1667
  "core/gather/driver/storage.js | warningData": {
1668
- "message": "{locationCount,plural, =1{Mungkin terdapat data tersimpan yang memengaruhi performa pemuatan di lokasi ini: {locations}. Audit halaman ini di jendela Samaran untuk mencegah resource tersebut memengaruhi performa Anda.}other{Mungkin terdapat data tersimpan yang memengaruhi performa pemuatan di lokasi ini {locations}. Audit halaman ini di jendela Samaran untuk mencegah resource tersebut memengaruhi performa Anda.}}"
1668
+ "message": "{locationCount,plural, =1{Mungkin terdapat data tersimpan yang memengaruhi performa pemuatan di lokasi ini: {locations}. Audit halaman ini di jendela aamaran untuk mencegah resource tersebut memengaruhi skor Anda.}other{Mungkin terdapat data tersimpan yang memengaruhi performa pemuatan di lokasi ini {locations}. Audit halaman ini di jendela samaran untuk mencegah resource tersebut memengaruhi skor Anda.}}"
1669
1669
  },
1670
1670
  "core/gather/driver/storage.js | warningOriginDataTimeout": {
1671
1671
  "message": "Waktu penghapusan data origin habis. Coba audit halaman ini lagi dan laporkan bug jika masalah berlanjut."
@@ -2658,49 +2658,55 @@
2658
2658
  "message": "Pertimbangkan untuk menggunakan utilitas `BreakpointObserver` dalam Component Dev Kit (CDK) guna mengelola titik henti image sementara. [Pelajari lebih lanjut](https://material.angular.io/cdk/layout/overview)."
2659
2659
  },
2660
2660
  "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
2661
- "message": "Sebaiknya upload GIF ke layanan yang akan menyediakannya untuk disematkan sebagai video HTML5."
2662
- },
2663
- "node_modules/lighthouse-stack-packs/packs/drupal.js | font-display": {
2664
- "message": "Sebutkan `@font-display` saat menentukan font khusus di tema Anda."
2661
+ "message": "Consider uploading your `GIF` to a service which will make it available to embed as an HTML5 video."
2665
2662
  },
2666
2663
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
2667
2664
  "message": "Sebaiknya konfigurasi [format gambar WebP dengan Konversi gaya gambar](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) di situs Anda."
2668
2665
  },
2669
2666
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
2670
- "message": "Instal [modul Drupal](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) yang dapat memuat gambar dengan lambat. Modul tersebut mampu menunda pemuatan gambar di bagian halaman yang belum ditampilkan untuk meningkatkan performa."
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": "Sebaiknya gunakan modul untuk menyejajarkan CSS dan JavaScript penting, dan gunakan atribut tunda untuk CSS atau JavaScript yang tidak penting."
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": "Semua spesifikasi tema, modul, dan server berkontribusi pada waktu respons server. Sebaiknya cari tema yang lebih optimal, pilih modul pengoptimalan dengan hati-hati, dan/atau upgrade server Anda. Server hosting Anda harus memanfaatkan cache opcode dan cache memori PHP untuk mengurangi waktu kueri database, seperti Redis atau Memcached, serta logika aplikasi yang dioptimalkan guna menyiapkan halaman dengan lebih cepat."
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": "Sebaiknya gunakan [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) untuk mengurangi ukuran gambar yang dimuat di halaman Anda. Jika Anda menggunakan Views untuk menampilkan beberapa item konten di halaman, sebaiknya implementasikan penomoran halaman guna membatasi jumlah item konten yang ditampilkan di halaman tersebut."
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": "Pastikan Anda mengaktifkan \"Aggregate CSS files\" di halaman \"Administration » Configuration » Development\". Pastikan situs Drupal Anda menjalankan setidaknya Drupal 10.1 untuk mendapatkan dukungan penggabungan aset yang ditingkatkan."
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": "Pastikan Anda mengaktifkan \"Aggregate JavaScript files\" di halaman \"Administration » Configuration » Development\". Pastikan situs Drupal Anda menjalankan setidaknya Drupal 10.1 untuk mendapatkan dukungan penggabungan aset yang ditingkatkan."
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": "Sebaiknya hapus aturan CSS yang tidak digunakan dan hanya lampirkan library Drupal yang diperlukan ke halaman atau komponen yang relevan di halaman. Buka [Link dokumentasi Drupal](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library) untuk mengetahui detailnya. Untuk mengidentifikasi library yang dilampirkan yang menambahkan CSS tidak relevan, coba jalankan [cakupan kode](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) di Chrome DevTools. Anda dapat mengidentifikasi tema/modul yang bertanggung jawab dari URL stylesheet saat agregasi CSS dinonaktifkan di situs Drupal Anda. Cari tema/modul dengan banyak stylesheet dalam daftar yang memiliki banyak warna merah dalam cakupan kode. Tema/modul sebaiknya hanya menambahkan stylesheet ke antrean jika memang benar digunakan di halaman."
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": "Sebaiknya hapus aset JavaScript yang tidak digunakan dan hanya lampirkan library Drupal yang diperlukan ke halaman atau komponen yang relevan di halaman. Buka [Link dokumentasi Drupal](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library) untuk mengetahui detailnya. Untuk mengidentifikasi library yang dilampirkan yang menambahkan JavaScript tidak relevan, coba jalankan [cakupan kode](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) di Chrome DevTools. Anda dapat mengidentifikasi tema/modul yang bertanggung jawab dari URL skrip saat agregasi JavaScript dinonaktifkan di situs Drupal Anda. Cari tema/modul dengan banyak skrip dalam daftar yang memiliki banyak warna merah dalam cakupan kode. Tema/modul sebaiknya hanya menambahkan skrip ke antrean jika memang benar digunakan di halaman."
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": "Setel \"Browser and proxy cache maximum age\" di halaman \"Administration » Configuration » Development\". Baca [Cache Drupal dan mengoptimalkan performa](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": "Sebaiknya gunakan [modul](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) yang otomatis mengoptimalkan dan mengurangi ukuran gambar yang diupload melalui situs dengan tetap mempertahankan kualitas. Selain itu, pastikan Anda menggunakan [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) native yang disediakan oleh Drupal (tersedia di Drupal 8 dan yang lebih tinggi) untuk semua gambar yang dirender di halaman."
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": "Petunjuk resource preconnect atau dns-prefetch dapat ditambahkan dengan menginstal dan mengonfigurasi [modul](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) yang memberikan fasilitas untuk petunjuk resource agen pengguna."
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": "Pastikan Anda menggunakan [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) native yang disediakan oleh Drupal (tersedia di Drupal 8 dan yang lebih tinggi). Gunakan Responsive Image Styles saat merender kolom gambar melalui mode tampilan, tampilan, atau gambar yang diupload melalui editor WYSIWYG."
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": "Gunakan [Ezoic Leap](https://pubdash.ezoic.com/speed) dan aktifkan `Optimize Fonts` untuk otomatis memanfaatkan fitur CSS `font-display` guna memastikan teks dapat dilihat oleh pengguna saat font web dimuat."
@@ -2897,9 +2903,6 @@
2897
2903
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
2898
2904
  "message": "Aktifkan [`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack) di NitroPack untuk waktu pemuatan awal yang lebih cepat."
2899
2905
  },
2900
- "node_modules/lighthouse-stack-packs/packs/nitropack.js | server-response-time": {
2901
- "message": "Tingkatkan waktu respons server dan optimalkan performa yang dirasakan dengan mengaktifkan [`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": "Aktifkan [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) di setelan Cache untuk mengurangi ukuran file CSS, HTML, dan JavaScript Anda agar waktu pemuatan menjadi lebih cepat."
2905
2908
  },
@@ -3033,7 +3036,7 @@
3033
3036
  "message": "Terdapat sejumlah plugin di WordPress yang dapat membantu Anda [menyejajarkan aset penting](https://wordpress.org/plugins/search/critical+css/) atau [menunda resource yang tidak penting](https://wordpress.org/plugins/search/defer+css+javascript/). Harap berhati-hati karena pengoptimalan yang disediakan oleh plugin ini dapat merusak fitur tema atau plugin, sehingga Anda cenderung perlu mengubah kode."
3034
3037
  },
3035
3038
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | server-response-time": {
3036
- "message": "Semua spesifikasi tema, plugin, dan server berkontribusi pada waktu respons server. Sebaiknya cari tema yang lebih optimal, pilih plugin pengoptimalan dengan hati-hati, dan/atau upgrade server Anda."
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": "Sebaiknya tampilkan kutipan dalam daftar postingan (misalnya melalui tag lainnya), kurangi jumlah postingan yang ditampilkan pada halaman yang ada, bagi postingan panjang menjadi beberapa halaman, atau gunakan plugin untuk menunda pemuatan (lazy-load) komentar."