chrome-devtools-frontend 1.0.1526630 → 1.0.1529186

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 (339) hide show
  1. package/docs/ui_engineering.md +159 -0
  2. package/eslint.config.mjs +6 -1
  3. package/front_end/core/host/UserMetrics.ts +2 -1
  4. package/front_end/core/i18n/i18nImpl.ts +6 -1
  5. package/front_end/core/protocol_client/protocol_client.ts +1 -1
  6. package/front_end/core/root/Runtime.ts +38 -4
  7. package/front_end/core/sdk/CSSMatchedStyles.ts +50 -7
  8. package/front_end/core/sdk/CSSRule.ts +35 -6
  9. package/front_end/core/sdk/Connections.ts +2 -1
  10. package/front_end/core/sdk/DOMModel.ts +4 -0
  11. package/front_end/core/sdk/DebuggerModel.ts +5 -1
  12. package/front_end/core/sdk/NetworkManager.ts +267 -34
  13. package/front_end/core/sdk/PreloadingModel.ts +82 -17
  14. package/front_end/core/sdk/RehydratingConnection.snapshot.txt +1 -1
  15. package/front_end/core/sdk/RehydratingConnection.ts +29 -4
  16. package/front_end/core/sdk/ScopeTreeCache.ts +8 -3
  17. package/front_end/core/sdk/SourceMap.ts +41 -11
  18. package/front_end/core/sdk/SourceMapManager.ts +13 -2
  19. package/front_end/core/sdk/SourceMapScopesInfo.ts +49 -2
  20. package/front_end/core/sdk/TargetManager.ts +0 -22
  21. package/front_end/core/sdk/TraceObject.ts +8 -7
  22. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +81 -0
  23. package/front_end/entrypoints/inspector_main/InspectorMain.ts +3 -1
  24. package/front_end/entrypoints/main/GlobalAiButton.ts +1 -0
  25. package/front_end/entrypoints/main/MainImpl.ts +42 -28
  26. package/front_end/generated/InspectorBackendCommands.js +3 -2
  27. package/front_end/generated/SupportedCSSProperties.js +2 -0
  28. package/front_end/generated/protocol.ts +17 -3
  29. package/front_end/models/ai_assistance/BuiltInAi.ts +111 -0
  30. package/front_end/models/ai_assistance/ConversationHandler.ts +15 -14
  31. package/front_end/models/ai_assistance/ai_assistance.ts +53 -24
  32. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +105 -0
  33. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +6 -1
  34. package/front_end/models/extensions/ExtensionView.ts +3 -0
  35. package/front_end/models/javascript_metadata/NativeFunctions.js +31 -27
  36. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +31 -29
  37. package/front_end/models/persistence/NetworkPersistenceManager.ts +3 -5
  38. package/front_end/models/persistence/PersistenceImpl.ts +0 -5
  39. package/front_end/models/persistence/persistence-meta.ts +0 -31
  40. package/front_end/models/persistence/persistence.ts +0 -6
  41. package/front_end/models/source_map_scopes/NamesResolver.ts +5 -11
  42. package/front_end/models/stack_trace/Trie.ts +9 -0
  43. package/front_end/models/trace/lantern/types/Lantern.ts +1 -1
  44. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -0
  45. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -0
  46. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +120 -113
  47. package/front_end/panels/ai_assistance/PatchWidget.ts +9 -8
  48. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +2 -0
  49. package/front_end/panels/ai_assistance/components/ChatView.ts +29 -29
  50. package/front_end/panels/ai_assistance/components/UserActionRow.ts +1 -0
  51. package/front_end/panels/animation/AnimationTimeline.ts +1 -0
  52. package/front_end/panels/application/CookieItemsView.ts +1 -0
  53. package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -0
  54. package/front_end/panels/application/ServiceWorkerCacheViews.ts +2 -0
  55. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +11 -5
  56. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +2 -2
  57. package/front_end/panels/application/preloading/components/PreloadingString.ts +7 -5
  58. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +22 -10
  59. package/front_end/panels/changes/CombinedDiffView.ts +1 -0
  60. package/front_end/{models/persistence → panels/common}/PersistenceUtils.ts +15 -17
  61. package/front_end/panels/common/common.ts +1 -0
  62. package/front_end/panels/console/ConsoleInsightTeaser.ts +369 -0
  63. package/front_end/panels/console/ConsolePanel.ts +2 -0
  64. package/front_end/panels/console/ConsolePrompt.ts +12 -2
  65. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  66. package/front_end/panels/console/ConsoleView.ts +12 -0
  67. package/front_end/panels/console/ConsoleViewMessage.ts +44 -0
  68. package/front_end/panels/{explain → console}/PromptBuilder.ts +12 -7
  69. package/front_end/panels/console/console-meta.ts +14 -0
  70. package/front_end/panels/console/console.ts +6 -0
  71. package/front_end/panels/console/consoleInsightTeaser.css +83 -0
  72. package/front_end/panels/coverage/CoverageListView.ts +29 -11
  73. package/front_end/panels/coverage/CoverageView.ts +292 -284
  74. package/front_end/panels/coverage/coverageView.css +17 -0
  75. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -0
  76. package/front_end/panels/elements/LayoutPane.ts +1 -0
  77. package/front_end/panels/elements/NodeStackTraceWidget.ts +1 -0
  78. package/front_end/panels/elements/StylePropertyTreeElement.ts +5 -1
  79. package/front_end/panels/elements/stylePropertiesTreeOutline.css +17 -0
  80. package/front_end/panels/emulation/DeviceModeView.ts +2 -0
  81. package/front_end/panels/explain/ActionDelegate.ts +4 -2
  82. package/front_end/panels/explain/components/ConsoleInsight.ts +14 -12
  83. package/front_end/panels/explain/explain-meta.ts +7 -0
  84. package/front_end/panels/explain/explain.ts +0 -1
  85. package/front_end/panels/js_timeline/js_timeline-meta.ts +1 -1
  86. package/front_end/panels/layer_viewer/Layers3DView.ts +2 -0
  87. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +1 -0
  88. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +1 -0
  89. package/front_end/panels/media/MainView.ts +1 -0
  90. package/front_end/panels/media/TickingFlameChart.ts +2 -0
  91. package/front_end/panels/network/BlockedURLsPane.ts +237 -108
  92. package/front_end/panels/network/EventSourceMessagesView.ts +1 -0
  93. package/front_end/panels/network/NetworkItemView.ts +1 -0
  94. package/front_end/panels/network/NetworkLogView.ts +9 -7
  95. package/front_end/panels/network/NetworkOverview.ts +1 -0
  96. package/front_end/panels/network/RequestCookiesView.ts +1 -0
  97. package/front_end/panels/network/RequestHTMLView.ts +1 -0
  98. package/front_end/panels/network/RequestInitiatorView.ts +1 -0
  99. package/front_end/panels/network/RequestPayloadView.ts +1 -0
  100. package/front_end/panels/network/RequestPreviewView.ts +1 -0
  101. package/front_end/panels/network/RequestResponseView.ts +1 -0
  102. package/front_end/panels/network/RequestTimingView.ts +2 -0
  103. package/front_end/panels/network/ResourceDirectSocketChunkView.ts +1 -0
  104. package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -0
  105. package/front_end/panels/network/components/RequestHeadersView.ts +2 -0
  106. package/front_end/panels/network/components/RequestTrustTokensView.ts +2 -0
  107. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +2 -0
  108. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +2 -0
  109. package/front_end/panels/profiler/HeapSnapshotView.ts +7 -0
  110. package/front_end/panels/profiler/IsolateSelector.ts +1 -0
  111. package/front_end/panels/profiler/LiveHeapProfileView.ts +1 -0
  112. package/front_end/panels/profiler/ProfileView.ts +1 -0
  113. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -0
  114. package/front_end/panels/recorder/RecorderPanel.ts +2 -0
  115. package/front_end/panels/screencast/ScreencastView.ts +1 -0
  116. package/front_end/panels/search/SearchView.ts +1 -0
  117. package/front_end/panels/settings/AISettingsTab.ts +3 -3
  118. package/front_end/{models/persistence → panels/settings}/EditFileSystemView.ts +3 -6
  119. package/front_end/panels/settings/WorkspaceSettingsTab.ts +4 -1
  120. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +2 -2
  121. package/front_end/panels/settings/settings.ts +2 -0
  122. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +12 -0
  123. package/front_end/panels/sources/BreakpointsView.ts +1 -0
  124. package/front_end/panels/sources/DebuggerPlugin.ts +1 -0
  125. package/front_end/{models/persistence → panels/sources}/PersistenceActions.ts +8 -12
  126. package/front_end/panels/sources/TabbedEditorContainer.ts +2 -1
  127. package/front_end/panels/sources/UISourceCodeFrame.ts +17 -2
  128. package/front_end/panels/sources/sources-meta.ts +15 -0
  129. package/front_end/panels/sources/sources.ts +2 -0
  130. package/front_end/panels/timeline/README.md +2 -2
  131. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
  132. package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -3
  133. package/front_end/panels/timeline/TimelineLayersView.ts +1 -0
  134. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +114 -37
  135. package/front_end/panels/timeline/TimelinePanel.ts +43 -62
  136. package/front_end/panels/timeline/TimelineTreeView.ts +1 -0
  137. package/front_end/panels/timeline/components/LiveMetricsView.ts +4 -8
  138. package/front_end/panels/timeline/components/Sidebar.ts +2 -0
  139. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
  140. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +7 -7
  141. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
  142. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +4 -4
  143. package/front_end/panels/utils/utils.ts +2 -1
  144. package/front_end/panels/web_audio/WebAudioView.ts +1 -0
  145. package/front_end/third_party/chromium/README.chromium +1 -1
  146. package/front_end/third_party/diff/diff_match_patch.js +1 -1
  147. package/front_end/third_party/lighthouse/README.chromium +2 -2
  148. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1530 -2426
  149. package/front_end/third_party/lighthouse/locales/ar-XB.json +107 -455
  150. package/front_end/third_party/lighthouse/locales/ar.json +107 -455
  151. package/front_end/third_party/lighthouse/locales/bg.json +96 -444
  152. package/front_end/third_party/lighthouse/locales/ca.json +96 -444
  153. package/front_end/third_party/lighthouse/locales/cs.json +96 -444
  154. package/front_end/third_party/lighthouse/locales/da.json +96 -444
  155. package/front_end/third_party/lighthouse/locales/de.json +96 -444
  156. package/front_end/third_party/lighthouse/locales/el.json +96 -444
  157. package/front_end/third_party/lighthouse/locales/en-GB.json +96 -444
  158. package/front_end/third_party/lighthouse/locales/en-US.json +116 -467
  159. package/front_end/third_party/lighthouse/locales/en-XA.json +93 -441
  160. package/front_end/third_party/lighthouse/locales/en-XL.json +116 -467
  161. package/front_end/third_party/lighthouse/locales/es-419.json +96 -444
  162. package/front_end/third_party/lighthouse/locales/es.json +96 -444
  163. package/front_end/third_party/lighthouse/locales/fi.json +96 -444
  164. package/front_end/third_party/lighthouse/locales/fil.json +96 -444
  165. package/front_end/third_party/lighthouse/locales/fr.json +96 -444
  166. package/front_end/third_party/lighthouse/locales/he.json +118 -466
  167. package/front_end/third_party/lighthouse/locales/hi.json +96 -444
  168. package/front_end/third_party/lighthouse/locales/hr.json +100 -448
  169. package/front_end/third_party/lighthouse/locales/hu.json +96 -444
  170. package/front_end/third_party/lighthouse/locales/id.json +96 -444
  171. package/front_end/third_party/lighthouse/locales/it.json +96 -444
  172. package/front_end/third_party/lighthouse/locales/ja.json +96 -444
  173. package/front_end/third_party/lighthouse/locales/ko.json +97 -445
  174. package/front_end/third_party/lighthouse/locales/lt.json +96 -444
  175. package/front_end/third_party/lighthouse/locales/lv.json +97 -445
  176. package/front_end/third_party/lighthouse/locales/nl.json +96 -444
  177. package/front_end/third_party/lighthouse/locales/no.json +96 -444
  178. package/front_end/third_party/lighthouse/locales/pl.json +96 -444
  179. package/front_end/third_party/lighthouse/locales/pt-PT.json +96 -444
  180. package/front_end/third_party/lighthouse/locales/pt.json +97 -445
  181. package/front_end/third_party/lighthouse/locales/ro.json +97 -445
  182. package/front_end/third_party/lighthouse/locales/ru.json +96 -444
  183. package/front_end/third_party/lighthouse/locales/sk.json +96 -444
  184. package/front_end/third_party/lighthouse/locales/sl.json +96 -444
  185. package/front_end/third_party/lighthouse/locales/sr-Latn.json +96 -444
  186. package/front_end/third_party/lighthouse/locales/sr.json +96 -444
  187. package/front_end/third_party/lighthouse/locales/sv.json +96 -444
  188. package/front_end/third_party/lighthouse/locales/ta.json +96 -444
  189. package/front_end/third_party/lighthouse/locales/te.json +97 -445
  190. package/front_end/third_party/lighthouse/locales/th.json +96 -444
  191. package/front_end/third_party/lighthouse/locales/tr.json +96 -444
  192. package/front_end/third_party/lighthouse/locales/uk.json +96 -444
  193. package/front_end/third_party/lighthouse/locales/vi.json +96 -444
  194. package/front_end/third_party/lighthouse/locales/zh-HK.json +96 -444
  195. package/front_end/third_party/lighthouse/locales/zh-TW.json +97 -445
  196. package/front_end/third_party/lighthouse/locales/zh.json +96 -444
  197. package/front_end/third_party/lighthouse/report/bundle.d.ts +8 -14
  198. package/front_end/third_party/lighthouse/report/bundle.js +10 -49
  199. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  200. package/front_end/third_party/web-vitals/README.chromium +5 -8
  201. package/front_end/third_party/web-vitals/package/README.md +191 -152
  202. package/front_end/third_party/web-vitals/package/dist/modules/attribution/index.d.ts +0 -1
  203. package/front_end/third_party/web-vitals/package/dist/modules/attribution/index.js +0 -1
  204. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.d.ts +2 -2
  205. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.js +45 -26
  206. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.d.ts +2 -2
  207. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +3 -3
  208. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +10 -10
  209. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +307 -206
  210. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +2 -2
  211. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +69 -49
  212. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.d.ts +2 -2
  213. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +2 -2
  214. package/front_end/third_party/web-vitals/package/dist/modules/index.d.ts +0 -1
  215. package/front_end/third_party/web-vitals/package/dist/modules/index.js +0 -1
  216. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +33 -0
  217. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +111 -0
  218. package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.d.ts +4 -0
  219. package/front_end/third_party/web-vitals/package/dist/modules/{attribution/deprecated.js → lib/LCPEntryManager.js} +6 -7
  220. package/front_end/third_party/web-vitals/package/dist/modules/lib/LayoutShiftManager.d.ts +6 -0
  221. package/front_end/third_party/web-vitals/package/dist/modules/lib/LayoutShiftManager.js +44 -0
  222. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.js +1 -1
  223. package/front_end/third_party/web-vitals/package/dist/modules/lib/generateUniqueID.js +1 -1
  224. package/front_end/third_party/web-vitals/package/dist/modules/lib/getActivationStart.js +1 -1
  225. package/front_end/third_party/web-vitals/package/dist/modules/lib/getNavigationEntry.js +5 -7
  226. package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.d.ts +1 -1
  227. package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.js +9 -12
  228. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.d.ts +1 -0
  229. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +52 -33
  230. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +0 -2
  231. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.js +2 -2
  232. package/front_end/third_party/web-vitals/package/dist/modules/lib/initUnique.d.ts +6 -0
  233. package/front_end/third_party/web-vitals/package/dist/modules/{deprecated.js → lib/initUnique.js} +11 -4
  234. package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +3 -6
  235. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +6 -6
  236. package/front_end/third_party/web-vitals/package/dist/modules/lib/{whenIdle.d.ts → whenIdleOrHidden.d.ts} +1 -1
  237. package/front_end/third_party/web-vitals/package/dist/modules/lib/{whenIdle.js → whenIdleOrHidden.js} +10 -8
  238. package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +17 -35
  239. package/front_end/third_party/web-vitals/package/dist/modules/onFCP.js +3 -5
  240. package/front_end/third_party/web-vitals/package/dist/modules/onINP.d.ts +9 -7
  241. package/front_end/third_party/web-vitals/package/dist/modules/onINP.js +27 -19
  242. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +33 -26
  243. package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.js +2 -4
  244. package/front_end/third_party/web-vitals/package/dist/modules/types/base.d.ts +6 -5
  245. package/front_end/third_party/web-vitals/package/dist/modules/types/cls.d.ts +5 -3
  246. package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +80 -33
  247. package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +6 -2
  248. package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +28 -4
  249. package/front_end/third_party/web-vitals/package/dist/modules/types.js +0 -1
  250. package/front_end/third_party/web-vitals/package/package.json +4 -10
  251. package/front_end/third_party/web-vitals/package/src/attribution/index.ts +0 -1
  252. package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +58 -33
  253. package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +4 -4
  254. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +382 -258
  255. package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +96 -69
  256. package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +3 -3
  257. package/front_end/third_party/web-vitals/package/src/index.ts +0 -1
  258. package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +146 -0
  259. package/front_end/third_party/web-vitals/package/src/{attribution/deprecated.ts → lib/LCPEntryManager.ts} +6 -9
  260. package/front_end/third_party/web-vitals/package/src/lib/LayoutShiftManager.ts +50 -0
  261. package/front_end/third_party/web-vitals/package/src/lib/bindReporter.ts +1 -1
  262. package/front_end/third_party/web-vitals/package/src/lib/generateUniqueID.ts +1 -1
  263. package/front_end/third_party/web-vitals/package/src/lib/getActivationStart.ts +1 -1
  264. package/front_end/third_party/web-vitals/package/src/lib/getNavigationEntry.ts +5 -8
  265. package/front_end/third_party/web-vitals/package/src/lib/getSelector.ts +12 -12
  266. package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +57 -35
  267. package/front_end/third_party/web-vitals/package/src/lib/initMetric.ts +2 -2
  268. package/front_end/third_party/web-vitals/package/src/{deprecated.ts → lib/initUnique.ts} +14 -8
  269. package/front_end/third_party/web-vitals/package/src/lib/observe.ts +3 -11
  270. package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +12 -6
  271. package/front_end/third_party/web-vitals/package/src/lib/{whenIdle.ts → whenIdleOrHidden.ts} +10 -8
  272. package/front_end/third_party/web-vitals/package/src/onCLS.ts +17 -38
  273. package/front_end/third_party/web-vitals/package/src/onFCP.ts +3 -6
  274. package/front_end/third_party/web-vitals/package/src/onINP.ts +33 -28
  275. package/front_end/third_party/web-vitals/package/src/onLCP.ts +36 -29
  276. package/front_end/third_party/web-vitals/package/src/onTTFB.ts +2 -5
  277. package/front_end/third_party/web-vitals/package/src/types/base.ts +5 -5
  278. package/front_end/third_party/web-vitals/package/src/types/cls.ts +5 -3
  279. package/front_end/third_party/web-vitals/package/src/types/inp.ts +88 -33
  280. package/front_end/third_party/web-vitals/package/src/types/lcp.ts +6 -2
  281. package/front_end/third_party/web-vitals/package/src/types.ts +47 -4
  282. package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +75 -0
  283. package/front_end/third_party/web-vitals/rebuild.sh +32 -18
  284. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +5 -10
  285. package/front_end/third_party/web-vitals/web-vitals.ts +0 -2
  286. package/front_end/ui/components/docs/console_insight/basic.ts +3 -2
  287. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +2 -0
  288. package/front_end/ui/components/text_editor/TextEditor.ts +0 -2
  289. package/front_end/ui/legacy/InspectorView.ts +2 -0
  290. package/front_end/ui/legacy/ListWidget.ts +2 -2
  291. package/front_end/ui/legacy/SplitWidget.ts +2 -0
  292. package/front_end/ui/legacy/TabbedPane.ts +1 -0
  293. package/front_end/ui/legacy/TargetCrashedScreen.ts +1 -0
  294. package/front_end/ui/legacy/UIUtils.ts +8 -19
  295. package/front_end/ui/legacy/ViewManager.ts +1 -0
  296. package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +7 -20
  297. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -0
  298. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -0
  299. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -0
  300. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +1 -0
  301. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -0
  302. package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -0
  303. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -0
  304. package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -0
  305. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +1 -0
  306. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +2 -0
  307. package/front_end/ui/visual_logging/KnownContextValues.ts +25 -0
  308. package/mcp/README.md +7 -0
  309. package/mcp/mcp.ts +8 -0
  310. package/package.json +1 -1
  311. package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +0 -34
  312. package/front_end/third_party/web-vitals/package/attribution.d.ts +0 -16
  313. package/front_end/third_party/web-vitals/package/attribution.js +0 -18
  314. package/front_end/third_party/web-vitals/package/dist/modules/attribution/deprecated.d.ts +0 -7
  315. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFID.d.ts +0 -11
  316. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFID.js +0 -46
  317. package/front_end/third_party/web-vitals/package/dist/modules/deprecated.d.ts +0 -5
  318. package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.d.ts +0 -31
  319. package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.js +0 -107
  320. package/front_end/third_party/web-vitals/package/dist/modules/lib/onHidden.d.ts +0 -1
  321. package/front_end/third_party/web-vitals/package/dist/modules/lib/onHidden.js +0 -22
  322. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/firstInputPolyfill.d.ts +0 -7
  323. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/firstInputPolyfill.js +0 -147
  324. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/getFirstHiddenTimePolyfill.d.ts +0 -1
  325. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/getFirstHiddenTimePolyfill.js +0 -25
  326. package/front_end/third_party/web-vitals/package/dist/modules/onFID.d.ts +0 -13
  327. package/front_end/third_party/web-vitals/package/dist/modules/onFID.js +0 -70
  328. package/front_end/third_party/web-vitals/package/dist/modules/types/fid.d.ts +0 -46
  329. package/front_end/third_party/web-vitals/package/dist/modules/types/fid.js +0 -16
  330. package/front_end/third_party/web-vitals/package/src/attribution/onFID.ts +0 -62
  331. package/front_end/third_party/web-vitals/package/src/lib/interactions.ts +0 -139
  332. package/front_end/third_party/web-vitals/package/src/lib/onHidden.ts +0 -23
  333. package/front_end/third_party/web-vitals/package/src/lib/polyfills/firstInputPolyfill.ts +0 -174
  334. package/front_end/third_party/web-vitals/package/src/onFID.ts +0 -105
  335. package/front_end/third_party/web-vitals/package/src/types/fid.ts +0 -65
  336. package/front_end/ui/components/text_editor/textEditor.css +0 -18
  337. package/front_end/ui/legacy/inlineButton.css +0 -22
  338. /package/front_end/entrypoints/{rehydrated_devtools_app/rehydrated_devtools_app.ts → trace_app/trace_app.ts} +0 -0
  339. /package/front_end/{models/persistence → panels/settings}/editFileSystemView.css +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "message": "Pääsyavaimien avulla käyttäjät voivat nopeasti kohdistaa tiettyyn sivun osaan. Jotta sivulla siirtyminen onnistuu, jokaisen pääsyavaimen on oltava yksilöllinen. [Lue lisää pääsyavaimista](https://dequeuniversity.com/rules/axe/4.10/accesskeys)."
3
+ "message": "Pääsyavaimien avulla käyttäjät voivat nopeasti kohdistaa tiettyyn sivun osaan. Jotta sivulla siirtyminen onnistuu, jokaisen pääsyavaimen on oltava yksilöllinen. [Lue lisää pääsyavaimista](https://dequeuniversity.com/rules/axe/4.11/accesskeys)."
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "`[accesskey]`-arvot eivät ole yksilöllisiä"
@@ -9,7 +9,7 @@
9
9
  "message": "`[accesskey]`-arvot ovat yksilöllisiä."
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "Jokainen ARIA-`role` tukee tiettyä `aria-*`-määritteiden osaa. Vastaavuusjärjestyksen sekoittaminen mitätöi `aria-*`-määritteet. [Lue lisää ARIA-määritteiden ja niiden roolien yhdistämisestä](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr)."
12
+ "message": "Jokainen ARIA-`role` tukee tiettyä `aria-*`-määritteiden osaa. Vastaavuusjärjestyksen sekoittaminen mitätöi `aria-*`-määritteet. [Lue lisää ARIA-määritteiden ja niiden roolien yhdistämisestä](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-attr)."
13
13
  },
14
14
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
15
  "message": "`[aria-*]`-määritteet eivät vastaa rooleja"
@@ -18,7 +18,7 @@
18
18
  "message": "`[aria-*]`-määritteet vastaavat roolejaan"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "Monille HTML-elementeille voidaan määrittää vain tiettyjä ARIA-rooleja. ARIA-roolien käyttäminen silloin, kun niitä ei sallita, voi häiritä verkkosivun saavutettavuutta. [Lue lisää ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.10/aria-allowed-role)."
21
+ "message": "Monille HTML-elementeille voidaan määrittää vain tiettyjä ARIA-rooleja. ARIA-roolien käyttäminen silloin, kun niitä ei sallita, voi häiritä verkkosivun saavutettavuutta. [Lue lisää ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role)."
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "Käyttää ARIA-rooleja yhteensopimattomissa elementeissä"
@@ -27,7 +27,7 @@
27
27
  "message": "Käyttää ARIA-rooleja vain yhteensopivissa elementeissä"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "Jos elementin nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit helpottaa komentoelementtien käyttöä](https://dequeuniversity.com/rules/axe/4.10/aria-command-name)."
30
+ "message": "Jos elementin nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit helpottaa komentoelementtien käyttöä](https://dequeuniversity.com/rules/axe/4.11/aria-command-name)."
31
31
  },
32
32
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
33
  "message": "Elementeillä (`button`, `link` ja `menuitem`) ei ole esteettömiä nimiä"
@@ -36,7 +36,7 @@
36
36
  "message": "Elementeillä (`button`, `link` ja `menuitem`) on esteettömät nimet"
37
37
  },
38
38
  "core/audits/accessibility/aria-conditional-attr.js | description": {
39
- "message": "Jotkin ARIA-määritteet sallitaan elementissä vain tietyin ehdoin. [Lue lisää ehdollisista ARIA-määritteistä](https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr)."
39
+ "message": "Jotkin ARIA-määritteet sallitaan elementissä vain tietyin ehdoin. [Lue lisää ehdollisista ARIA-määritteistä](https://dequeuniversity.com/rules/axe/4.11/aria-conditional-attr)."
40
40
  },
41
41
  "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
42
42
  "message": "ARIA-määritteitä ei käytetä elementin roolin mukaisesti"
@@ -45,7 +45,7 @@
45
45
  "message": "ARIA-määritteitä käytetään elementin roolin mukaisesti"
46
46
  },
47
47
  "core/audits/accessibility/aria-deprecated-role.js | description": {
48
- "message": "Avustava teknologia ei välttämättä käsittele käytöstä poistettuja ARIA-rooleja oikein. [Lue lisää käytöstä poistetuista ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role)."
48
+ "message": "Avustava teknologia ei välttämättä käsittele käytöstä poistettuja ARIA-rooleja oikein. [Lue lisää käytöstä poistetuista ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.11/aria-deprecated-role)."
49
49
  },
50
50
  "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
51
51
  "message": "Käytöstä poistettuja ARIA-rooleja on käytetty"
@@ -54,7 +54,7 @@
54
54
  "message": "Käytöstä poistettuja ARIA-rooleja ei käytetty"
55
55
  },
56
56
  "core/audits/accessibility/aria-dialog-name.js | description": {
57
- "message": "ARIA-valintaikkunaelementit, joissa ei ole saavutettavia nimiä, voivat estää näytönlukuohjelmien käyttäjiä havaitsemasta elementtien tarkoituksen. [Katso, miten voit helpottaa ARIA-valintaikkunan elementtien käyttöä](https://dequeuniversity.com/rules/axe/4.10/aria-dialog-name)."
57
+ "message": "ARIA-valintaikkunaelementit, joissa ei ole saavutettavia nimiä, voivat estää näytönlukuohjelmien käyttäjiä havaitsemasta elementtien tarkoituksen. [Katso, miten voit helpottaa ARIA-valintaikkunan elementtien käyttöä](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name)."
58
58
  },
59
59
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
60
60
  "message": "Elementtien, joissa on `role=\"dialog\"` tai `role=\"alertdialog\"`, nimi ei ole saavutettava."
@@ -63,7 +63,7 @@
63
63
  "message": "Elementtien, joissa on `role=\"dialog\"` tai `role=\"alertdialog\"`, nimi on saavutettava."
64
64
  },
65
65
  "core/audits/accessibility/aria-hidden-body.js | description": {
66
- "message": "Näytönlukuohjelmat ja muut avustavat teknologiat toimivat arvaamattomasti, kun `aria-hidden=\"true\"` asetetaan dokumentin kohdassa `<body>`. [Katso, miten `aria-hidden` vaikuttaa dokumentin tekstiosaan](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body)."
66
+ "message": "Näytönlukuohjelmat ja muut avustavat teknologiat toimivat arvaamattomasti, kun `aria-hidden=\"true\"` asetetaan dokumentin kohdassa `<body>`. [Katso, miten `aria-hidden` vaikuttaa dokumentin tekstiosaan](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-body)."
67
67
  },
68
68
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
69
69
  "message": "`[aria-hidden=\"true\"]` on dokumentin kohdassa `<body>`"
@@ -72,7 +72,7 @@
72
72
  "message": "`[aria-hidden=\"true\"]` ei ole dokumentin kohdassa `<body>`"
73
73
  },
74
74
  "core/audits/accessibility/aria-hidden-focus.js | description": {
75
- "message": "Jos `[aria-hidden=\"true\"]`-elementillä on tarkennettavia alaosia, näytönlukuohjelmat ja muut avustavat teknologiat eivät löydä niitä. [Katso, miten `aria-hidden` vaikuttaa kohdistettaviin elementteihin](https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus)."
75
+ "message": "Jos `[aria-hidden=\"true\"]`-elementillä on tarkennettavia alaosia, näytönlukuohjelmat ja muut avustavat teknologiat eivät löydä niitä. [Katso, miten `aria-hidden` vaikuttaa kohdistettaviin elementteihin](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus)."
76
76
  },
77
77
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
78
78
  "message": "`[aria-hidden=\"true\"]`-elementeissä on tarkennettavia alaosia"
@@ -81,7 +81,7 @@
81
81
  "message": "`[aria-hidden=\"true\"]`-elementeissä ei ole tarkennettavia alaosia"
82
82
  },
83
83
  "core/audits/accessibility/aria-input-field-name.js | description": {
84
- "message": "Jos syötekentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää syöttökenttien tunnisteista](https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name)."
84
+ "message": "Jos syötekentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää syöttökenttien tunnisteista](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name)."
85
85
  },
86
86
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
87
87
  "message": "ARIA-syötekenttien nimet eivät ole esteettömiä"
@@ -90,7 +90,7 @@
90
90
  "message": "ARIA-syötekenttien nimet ovat esteettömiä"
91
91
  },
92
92
  "core/audits/accessibility/aria-meter-name.js | description": {
93
- "message": "Jos elementin nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit nimetä `meter`-elementtejä](https://dequeuniversity.com/rules/axe/4.10/aria-meter-name)."
93
+ "message": "Jos elementin nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit nimetä `meter`-elementtejä](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name)."
94
94
  },
95
95
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
96
96
  "message": "ARIA-elementeillä (`meter`) ei ole esteettömiä nimiä"
@@ -99,7 +99,7 @@
99
99
  "message": "ARIA-elementeillä (`meter`) on esteettömät nimet"
100
100
  },
101
101
  "core/audits/accessibility/aria-progressbar-name.js | description": {
102
- "message": "Jos elementin (`progressbar`) nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää `progressbar`-elementtien nimeämisestä](https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name)."
102
+ "message": "Jos elementin (`progressbar`) nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää `progressbar`-elementtien nimeämisestä](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name)."
103
103
  },
104
104
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
105
105
  "message": "ARIA-elementeillä (`progressbar`) ei ole esteettömiä nimiä"
@@ -108,7 +108,7 @@
108
108
  "message": "ARIA-elementeillä (`progressbar`) on esteettömät nimet"
109
109
  },
110
110
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
111
- "message": "ARIA-määritteiden käyttäminen rooleissa, joissa ne on kielletty, voi tarkoittaa, että tärkeitä tietoja ei anneta avustavien teknologioiden käyttäjille. [Lue lisää kielletyistä ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr)."
111
+ "message": "ARIA-määritteiden käyttäminen rooleissa, joissa ne on kielletty, voi tarkoittaa, että tärkeitä tietoja ei anneta avustavien teknologioiden käyttäjille. [Lue lisää kielletyistä ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr)."
112
112
  },
113
113
  "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
114
114
  "message": "Elementeissä käytetään kiellettyjä ARIA-määritteitä"
@@ -117,7 +117,7 @@
117
117
  "message": "Elementit käyttävät vain sallittuja ARIA-määritteitä"
118
118
  },
119
119
  "core/audits/accessibility/aria-required-attr.js | description": {
120
- "message": "Joillakin ARIA-rooleilla on pakollisia määritteitä, jotka kuvaavat elementin tilaa näytönlukuohjelmille. [Lue lisää rooleista ja pakollisista määritteistä](https://dequeuniversity.com/rules/axe/4.10/aria-required-attr)."
120
+ "message": "Joillakin ARIA-rooleilla on pakollisia määritteitä, jotka kuvaavat elementin tilaa näytönlukuohjelmille. [Lue lisää rooleista ja pakollisista määritteistä](https://dequeuniversity.com/rules/axe/4.11/aria-required-attr)."
121
121
  },
122
122
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
123
123
  "message": "`[role]`-elementeissä ei ole kaikkia vaadittuja `[aria-*]`-määritteitä"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]`-elementeissä on kaikki vaaditut `[aria-*]`-määritteet"
127
127
  },
128
128
  "core/audits/accessibility/aria-required-children.js | description": {
129
- "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää rooleista ja pakollisista alatason elementeistä](https://dequeuniversity.com/rules/axe/4.10/aria-required-children)."
129
+ "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää rooleista ja pakollisista alatason elementeistä](https://dequeuniversity.com/rules/axe/4.11/aria-required-children)."
130
130
  },
131
131
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
132
132
  "message": "ARIAn `[role]` sisältämät elementit edellyttävät alatasoilta tiettyä elementtiä (`[role]`), mutta se puuttuu osalta tai kaikilta alatasoilta."
@@ -135,7 +135,7 @@
135
135
  "message": "ARIAn `[role]` sisältämät elementit edellyttävät alatasoilta tiettyä elementtiä (`[role]`), joka on kaikilla alatasoilla."
136
136
  },
137
137
  "core/audits/accessibility/aria-required-parent.js | description": {
138
- "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää ARIA-rooleista ja pakollisesta ylätason elementistä](https://dequeuniversity.com/rules/axe/4.10/aria-required-parent)."
138
+ "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää ARIA-rooleista ja pakollisesta ylätason elementistä](https://dequeuniversity.com/rules/axe/4.11/aria-required-parent)."
139
139
  },
140
140
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
141
141
  "message": "`[role]`-elementit eivät sisälly niiden pakolliseen ylätason elementtiin"
@@ -144,7 +144,7 @@
144
144
  "message": "`[role]`-elementit sisältyvät niiden pakolliseen ylätason elementtiin"
145
145
  },
146
146
  "core/audits/accessibility/aria-roles.js | description": {
147
- "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot ARIA-rooleilla on oltava kelvolliset arvot. [Lue lisää kelvollisista ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.10/aria-roles)."
147
+ "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot ARIA-rooleilla on oltava kelvolliset arvot. [Lue lisää kelvollisista ARIA-rooleista](https://dequeuniversity.com/rules/axe/4.11/aria-roles)."
148
148
  },
149
149
  "core/audits/accessibility/aria-roles.js | failureTitle": {
150
150
  "message": "`[role]`-arvot eivät ole kelvollisia"
@@ -153,7 +153,7 @@
153
153
  "message": "`[role]`-arvot ovat kelvollisia"
154
154
  },
155
155
  "core/audits/accessibility/aria-text.js | description": {
156
- "message": "Kun `role=text` lisätään merkinnöillä erotetun tekstinoodin ympärille, VoiceOver käsittelee sitä yhtenä ilmauksena, mutta elementin kohdistettavia alakohtia ei ilmoiteta. [Lue lisää `role=text`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/aria-text)."
156
+ "message": "Kun `role=text` lisätään merkinnöillä erotetun tekstinoodin ympärille, VoiceOver käsittelee sitä yhtenä ilmauksena, mutta elementin kohdistettavia alakohtia ei ilmoiteta. [Lue lisää `role=text`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/aria-text)."
157
157
  },
158
158
  "core/audits/accessibility/aria-text.js | failureTitle": {
159
159
  "message": "`role=text`-määritteen sisältävillä elementeillä on kohdistettavia alakohtia."
@@ -162,7 +162,7 @@
162
162
  "message": "`role=text`-määritteen sisältävillä elementeillä ei ole kohdistettavia alakohtia."
163
163
  },
164
164
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
165
- "message": "Jos päälle/pois-kentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää päälle/pois-kentistä](https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name)."
165
+ "message": "Jos päälle/pois-kentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää päälle/pois-kentistä](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name)."
166
166
  },
167
167
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
168
168
  "message": "ARIAn päälle/pois-kenttien nimet eivät ole esteettömiä"
@@ -171,7 +171,7 @@
171
171
  "message": "ARIAn päälle/pois-kenttien nimet ovat esteettömiä"
172
172
  },
173
173
  "core/audits/accessibility/aria-tooltip-name.js | description": {
174
- "message": "Jos elementin vihjetekstin nimi ei ole saavutettava, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit nimetä `tooltip`-elementtejä](https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name)."
174
+ "message": "Jos elementin vihjetekstin nimi ei ole saavutettava, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Katso, miten voit nimetä `tooltip`-elementtejä](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name)."
175
175
  },
176
176
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
177
177
  "message": "ARIA-elementeillä (`tooltip`) ei ole esteettömiä nimiä"
@@ -180,7 +180,7 @@
180
180
  "message": "ARIA-elementeillä (`tooltip`) on esteettömät nimet"
181
181
  },
182
182
  "core/audits/accessibility/aria-treeitem-name.js | description": {
183
- "message": "Jos elementin (`treeitem`) nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää `treeitem`-elementtien merkitsemisestä](https://dequeuniversity.com/rules/axe/4.10/aria-treeitem-name)."
183
+ "message": "Jos elementin (`treeitem`) nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää `treeitem`-elementtien merkitsemisestä](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name)."
184
184
  },
185
185
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
186
186
  "message": "ARIA-elementeillä (`treeitem`) ei ole esteettömiä nimiä"
@@ -189,7 +189,7 @@
189
189
  "message": "ARIA-elementeillä (`treeitem`) on esteettömät nimet"
190
190
  },
191
191
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
192
- "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joissa on virheelliset arvot. [Lue lisää kelvollisista ARIA-määritteiden arvoista](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value)."
192
+ "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joissa on virheelliset arvot. [Lue lisää kelvollisista ARIA-määritteiden arvoista](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr-value)."
193
193
  },
194
194
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
195
195
  "message": "`[aria-*]`-määritteiden arvot eivät ole kelvollisia"
@@ -198,7 +198,7 @@
198
198
  "message": "`[aria-*]`-määritteiden arvot ovat kelvollisia"
199
199
  },
200
200
  "core/audits/accessibility/aria-valid-attr.js | description": {
201
- "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joilla on virheelliset nimet. [Lue lisää kelvollisista ARIA-määritteistä](https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr)."
201
+ "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joilla on virheelliset nimet. [Lue lisää kelvollisista ARIA-määritteistä](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr)."
202
202
  },
203
203
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
204
204
  "message": "`[aria-*]`-määritteet eivät ole kelvollisia tai sisältävät kirjoitusvirheitä"
@@ -210,7 +210,7 @@
210
210
  "message": "Hylätyt elementit"
211
211
  },
212
212
  "core/audits/accessibility/button-name.js | description": {
213
- "message": "Kun painikkeen nimi ei ole esteetön, näytönlukuohjelmat ilmoittavat sen painikkeeksi, jolloin se on hyödytön näytönlukuohjelmia tarvitseville käyttäjille. [Katso, miten painikkeista voi tehdä saavutettavampia](https://dequeuniversity.com/rules/axe/4.10/button-name)."
213
+ "message": "Kun painikkeen nimi ei ole esteetön, näytönlukuohjelmat ilmoittavat sen painikkeeksi, jolloin se on hyödytön näytönlukuohjelmia tarvitseville käyttäjille. [Katso, miten painikkeista voi tehdä saavutettavampia](https://dequeuniversity.com/rules/axe/4.11/button-name)."
214
214
  },
215
215
  "core/audits/accessibility/button-name.js | failureTitle": {
216
216
  "message": "Painikkeiden nimet eivät ole esteettömiä"
@@ -219,7 +219,7 @@
219
219
  "message": "Painikkeiden nimet ovat esteettömiä"
220
220
  },
221
221
  "core/audits/accessibility/bypass.js | description": {
222
- "message": "Tapojen lisääminen toistuvan sisällön ohittamiseen auttaa näppäimistön käyttäjiä siirtymään sivulla tehokkaammin. [Lue lisää ohituksista](https://dequeuniversity.com/rules/axe/4.10/bypass)."
222
+ "message": "Tapojen lisääminen toistuvan sisällön ohittamiseen auttaa näppäimistön käyttäjiä siirtymään sivulla tehokkaammin. [Lue lisää ohituksista](https://dequeuniversity.com/rules/axe/4.11/bypass)."
223
223
  },
224
224
  "core/audits/accessibility/bypass.js | failureTitle": {
225
225
  "message": "Sivu ei sisällä otsikkoa, ohituslinkkiä tai maamerkin aluetta"
@@ -228,7 +228,7 @@
228
228
  "message": "Sivu sisältää otsikon, ohituslinkin tai maamerkin alueen"
229
229
  },
230
230
  "core/audits/accessibility/color-contrast.js | description": {
231
- "message": "Alhaisen kontrastin teksti on monelle vaikea tai mahdoton lukea. [Lue lisää riittävän värikontrastin lisäämisestä](https://dequeuniversity.com/rules/axe/4.10/color-contrast)."
231
+ "message": "Alhaisen kontrastin teksti on monelle vaikea tai mahdoton lukea. [Lue lisää riittävän värikontrastin lisäämisestä](https://dequeuniversity.com/rules/axe/4.11/color-contrast)."
232
232
  },
233
233
  "core/audits/accessibility/color-contrast.js | failureTitle": {
234
234
  "message": "Taustan ja etualan värien kontrastisuhde ei ole riittävä."
@@ -237,7 +237,7 @@
237
237
  "message": "Taustan ja etualan värien kontrastisuhde on riittävä"
238
238
  },
239
239
  "core/audits/accessibility/definition-list.js | description": {
240
- "message": "Kun määritelmäluetteloita ei ole merkitty kunnolla, näytönlukuohjelmien tuottama sisältö voi olla sekavaa tai epätarkkaa. [Katso, miten määritelmäluettelot jäsennetään oikein](https://dequeuniversity.com/rules/axe/4.10/definition-list)."
240
+ "message": "Kun määritelmäluetteloita ei ole merkitty kunnolla, näytönlukuohjelmien tuottama sisältö voi olla sekavaa tai epätarkkaa. [Katso, miten määritelmäluettelot jäsennetään oikein](https://dequeuniversity.com/rules/axe/4.11/definition-list)."
241
241
  },
242
242
  "core/audits/accessibility/definition-list.js | failureTitle": {
243
243
  "message": "`<dl>`-elementit eivät sisällä vain oikein järjestettyjä `<dt>`- ja `<dd>`-ryhmiä ja `<script>`-, `<template>`- tai `<div>`-elementtejä."
@@ -246,7 +246,7 @@
246
246
  "message": "`<dl>`-elementit sisältävät vain oikein järjestettyjä `<dt>`- ja `<dd>`-ryhmiä ja `<script>`-, `<template>` tai `<div>`-elementtejä"
247
247
  },
248
248
  "core/audits/accessibility/dlitem.js | description": {
249
- "message": "Määritelmien luettelokohdat (`<dt>` ja `<dd>`) on yhdistettävä ylätason `<dl>`-elementtiin, jotta näytönlukuohjelmat voivat varmasti lukea ne oikein. [Katso, miten määritelmäluettelot jäsennetään oikein](https://dequeuniversity.com/rules/axe/4.10/dlitem)."
249
+ "message": "Määritelmien luettelokohdat (`<dt>` ja `<dd>`) on yhdistettävä ylätason `<dl>`-elementtiin, jotta näytönlukuohjelmat voivat varmasti lukea ne oikein. [Katso, miten määritelmäluettelot jäsennetään oikein](https://dequeuniversity.com/rules/axe/4.11/dlitem)."
250
250
  },
251
251
  "core/audits/accessibility/dlitem.js | failureTitle": {
252
252
  "message": "Määritelmien luettelokohtia ei ole yhdistetty `<dl>`-elementeillä"
@@ -255,7 +255,7 @@
255
255
  "message": "Määritelmien luettelokohdat on yhdistetty `<dl>`-elementeillä"
256
256
  },
257
257
  "core/audits/accessibility/document-title.js | description": {
258
- "message": "Nimi antaa näytönlukuohjelmaa käyttäville yleiskuvan sivusta, ja hakukoneen käyttäjille nimi on tärkeä oleellisten sivujen löytämiseen hakutuloksista. [Lue lisää dokumenttien otsikoista](https://dequeuniversity.com/rules/axe/4.10/document-title)."
258
+ "message": "Nimi antaa näytönlukuohjelmaa käyttäville yleiskuvan sivusta, ja hakukoneen käyttäjille nimi on tärkeä oleellisten sivujen löytämiseen hakutuloksista. [Lue lisää dokumenttien otsikoista](https://dequeuniversity.com/rules/axe/4.11/document-title)."
259
259
  },
260
260
  "core/audits/accessibility/document-title.js | failureTitle": {
261
261
  "message": "Dokumentissa ei ole `<title>`-elementtiä"
@@ -264,7 +264,7 @@
264
264
  "message": "Dokumentissa on `<title>`-elementti"
265
265
  },
266
266
  "core/audits/accessibility/duplicate-id-aria.js | description": {
267
- "message": "ARIA-tunnisteen on oltava yksilöllinen, jotta avustavat teknologiat eivät jätä muita esiintymiä huomioimatta. [Katso, miten voit korjata päällekkäisiä ARIA-tunnuksia](https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria)."
267
+ "message": "ARIA-tunnisteen on oltava yksilöllinen, jotta avustavat teknologiat eivät jätä muita esiintymiä huomioimatta. [Katso, miten voit korjata päällekkäisiä ARIA-tunnuksia](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria)."
268
268
  },
269
269
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
270
270
  "message": "ARIA-tunnisteet eivät ole yksilöllisiä"
@@ -273,7 +273,7 @@
273
273
  "message": "ARIA-tunnisteet ovat yksilöllisiä"
274
274
  },
275
275
  "core/audits/accessibility/empty-heading.js | description": {
276
- "message": "Jos otsikon tekstissä ei ole sisältöä tai teksti ei ole käytettävissä, näytönlukuohjelman käyttäjät eivät saa pääsyä tietoihin sivun rakenteessa. [Lue lisää otsikoista](https://dequeuniversity.com/rules/axe/4.10/empty-heading)."
276
+ "message": "Jos otsikon tekstissä ei ole sisältöä tai teksti ei ole käytettävissä, näytönlukuohjelman käyttäjät eivät saa pääsyä tietoihin sivun rakenteessa. [Lue lisää otsikoista](https://dequeuniversity.com/rules/axe/4.11/empty-heading)."
277
277
  },
278
278
  "core/audits/accessibility/empty-heading.js | failureTitle": {
279
279
  "message": "Otsikkoelementeissä ei ole sisältöä."
@@ -282,7 +282,7 @@
282
282
  "message": "Kaikissa otsikkoelementeissä on sisältöä."
283
283
  },
284
284
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
285
- "message": "Jos lomakekentillä on useita tunnisteita, näytönlukuohjelmat ja muut avustavat teknologiat saattavat viitata niihin hämmentävästi käyttäen ensimmäistä, viimeistä tai jokaista tunnistetta. [Lue lisää lomaketunnisteiden käyttämisestä](https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels)."
285
+ "message": "Jos lomakekentillä on useita tunnisteita, näytönlukuohjelmat ja muut avustavat teknologiat saattavat viitata niihin hämmentävästi käyttäen ensimmäistä, viimeistä tai jokaista tunnistetta. [Lue lisää lomaketunnisteiden käyttämisestä](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels)."
286
286
  },
287
287
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
288
288
  "message": "Lomakekentillä on useita tunnisteita"
@@ -291,7 +291,7 @@
291
291
  "message": "Lomakekentillä ei ole useita tunnisteita"
292
292
  },
293
293
  "core/audits/accessibility/frame-title.js | description": {
294
- "message": "Näytönlukuohjelman käyttäjät saavat tietää kehysten sisällöt vain kehysten nimien avulla. [Lue lisää kehysten nimistä](https://dequeuniversity.com/rules/axe/4.10/frame-title)."
294
+ "message": "Näytönlukuohjelman käyttäjät saavat tietää kehysten sisällöt vain kehysten nimien avulla. [Lue lisää kehysten nimistä](https://dequeuniversity.com/rules/axe/4.11/frame-title)."
295
295
  },
296
296
  "core/audits/accessibility/frame-title.js | failureTitle": {
297
297
  "message": "`<frame>`- tai `<iframe>`-elementeillä ei ole nimeä"
@@ -300,7 +300,7 @@
300
300
  "message": "`<frame>`- tai `<iframe>`-elementeillä on nimi"
301
301
  },
302
302
  "core/audits/accessibility/heading-order.js | description": {
303
- "message": "Loogisesti järjestetyt ja kaikki tasot käsittävät otsikot kertovat sivun semanttisesta rakenteesta, jolloin sen selaaminen ja ymmärtäminen avustavilla teknologioilla on helpompaa. [Lue lisää otsikkojärjestyksestä](https://dequeuniversity.com/rules/axe/4.10/heading-order)."
303
+ "message": "Loogisesti järjestetyt ja kaikki tasot käsittävät otsikot kertovat sivun semanttisesta rakenteesta, jolloin sen selaaminen ja ymmärtäminen avustavilla teknologioilla on helpompaa. [Lue lisää otsikkojärjestyksestä](https://dequeuniversity.com/rules/axe/4.11/heading-order)."
304
304
  },
305
305
  "core/audits/accessibility/heading-order.js | failureTitle": {
306
306
  "message": "Otsikkoelementit eivät ole laskevassa järjestyksessä"
@@ -309,7 +309,7 @@
309
309
  "message": "Otsikkoelementit ovat laskevassa järjestyksessä"
310
310
  },
311
311
  "core/audits/accessibility/html-has-lang.js | description": {
312
- "message": "Jos sivulla ei ole `lang`-määritettä, näytönlukuohjelma arvioi kieleksi oletuskielen, jonka käyttäjä valitsi ottaessaan näytönlukuohjelman käyttöön. Jos oletuskieli ei ole käytössä sivulla, näytönlukuohjelma voi ilmoittaa sivun tekstin väärin. [Lue lisää `lang`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/html-has-lang)."
312
+ "message": "Jos sivulla ei ole `lang`-määritettä, näytönlukuohjelma arvioi kieleksi oletuskielen, jonka käyttäjä valitsi ottaessaan näytönlukuohjelman käyttöön. Jos oletuskieli ei ole käytössä sivulla, näytönlukuohjelma voi ilmoittaa sivun tekstin väärin. [Lue lisää `lang`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/html-has-lang)."
313
313
  },
314
314
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
315
315
  "message": "`<html>`-elementissä ei ole `[lang]`-määritettä"
@@ -318,7 +318,7 @@
318
318
  "message": "`<html>`-elementissä on `[lang]`-määrite"
319
319
  },
320
320
  "core/audits/accessibility/html-lang-valid.js | description": {
321
- "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa näytönlukuohjelmaa kertomaan tekstin oikein. [Lue lisää `lang`‐määritteen käyttämisestä](https://dequeuniversity.com/rules/axe/4.10/html-lang-valid)."
321
+ "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa näytönlukuohjelmaa kertomaan tekstin oikein. [Lue lisää `lang`‐määritteen käyttämisestä](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid)."
322
322
  },
323
323
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
324
324
  "message": "`<html>`-elementin `[lang]`-määritteen arvo ei ole kelvollinen"
@@ -327,7 +327,7 @@
327
327
  "message": "`<html>`-elementin `[lang]`-määritteen arvo on kelvollinen"
328
328
  },
329
329
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
330
- "message": "Jos verkkosivun kieli ei ole johdonmukaista, näytönlukuohjelma saattaa ilmoittaa sivun tekstin väärin. [Lue lisää `lang`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch)."
330
+ "message": "Jos verkkosivun kieli ei ole johdonmukaista, näytönlukuohjelma saattaa ilmoittaa sivun tekstin väärin. [Lue lisää `lang`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch)."
331
331
  },
332
332
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
333
333
  "message": "`<html>`-elementissä ei ole `[xml:lang]`-määritettä, jolla on sama peruskieli kuin `[lang]`-määritteellä."
@@ -336,7 +336,7 @@
336
336
  "message": "`<html>`-elementillä on `[xml:lang]`-määrite, jolla on sama peruskieli kuin `[lang]`-määritteellä."
337
337
  },
338
338
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
339
- "message": "Samaan kohteeseen johtavilla linkeillä on oltava sama kuvaus, jotta käyttäjät ymmärtävät niiden tarkoituksen ja voivat päättää, haluavatko he seurata niitä. [Lue lisää identtisistä linkeistä](https://dequeuniversity.com/rules/axe/4.10/identical-links-same-purpose)."
339
+ "message": "Samaan kohteeseen johtavilla linkeillä on oltava sama kuvaus, jotta käyttäjät ymmärtävät niiden tarkoituksen ja voivat päättää, haluavatko he seurata niitä. [Lue lisää identtisistä linkeistä](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose)."
340
340
  },
341
341
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
342
342
  "message": "Identtisillä linkeillä ei ole samaa tarkoitusta."
@@ -345,7 +345,7 @@
345
345
  "message": "Identtisillä linkeillä on sama tarkoitus."
346
346
  },
347
347
  "core/audits/accessibility/image-alt.js | description": {
348
- "message": "Informatiivisilla elementeillä pitäisi olla lyhyt ja kuvaileva vaihtoehtoinen teksti. Koristeelliset elementit voidaan ohittaa tyhjällä Alt-määritteellä. [Lue lisää `alt`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/image-alt)."
348
+ "message": "Informatiivisilla elementeillä pitäisi olla lyhyt ja kuvaileva vaihtoehtoinen teksti. Koristeelliset elementit voidaan ohittaa tyhjällä Alt-määritteellä. [Lue lisää `alt`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/image-alt)."
349
349
  },
350
350
  "core/audits/accessibility/image-alt.js | failureTitle": {
351
351
  "message": "Kuvaelementeillä ei ole `[alt]`-määritteitä"
@@ -354,7 +354,7 @@
354
354
  "message": "Kuvaelementeillä on `[alt]`-määritteet"
355
355
  },
356
356
  "core/audits/accessibility/image-redundant-alt.js | description": {
357
- "message": "Informatiivisilla elementeillä pitäisi olla lyhyt ja kuvaileva vaihtoehtoinen teksti. Vaihtoehtoinen teksti, joka on täsmälleen sama kuin linkin tai kuvan vieressä oleva teksti, voi olla hämmentävä näytönlukuohjelmien käyttäjille, koska teksti luetaan kahdesti. [Lue lisää `alt`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/image-redundant-alt)."
357
+ "message": "Informatiivisilla elementeillä pitäisi olla lyhyt ja kuvaileva vaihtoehtoinen teksti. Vaihtoehtoinen teksti, joka on täsmälleen sama kuin linkin tai kuvan vieressä oleva teksti, voi olla hämmentävä näytönlukuohjelmien käyttäjille, koska teksti luetaan kahdesti. [Lue lisää `alt`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt)."
358
358
  },
359
359
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
360
360
  "message": "Kuvaelementeissä on `[alt]`-määritteitä, jotka ovat tarpeetonta tekstiä."
@@ -363,7 +363,7 @@
363
363
  "message": "Kuvaelementeissä ei ole `[alt]`-määritteitä, jotka ovat tarpeetonta tekstiä."
364
364
  },
365
365
  "core/audits/accessibility/input-button-name.js | description": {
366
- "message": "Erottuvan ja näkyvän tekstin lisääminen syöttöpainikkeisiin voi auttaa näytönlukuohjelman käyttäjiä ymmärtämään syöttöpainikkeen tarkoituksen. [Lue lisää syöttöpainikkeista](https://dequeuniversity.com/rules/axe/4.10/input-button-name)."
366
+ "message": "Erottuvan ja näkyvän tekstin lisääminen syöttöpainikkeisiin voi auttaa näytönlukuohjelman käyttäjiä ymmärtämään syöttöpainikkeen tarkoituksen. [Lue lisää syöttöpainikkeista](https://dequeuniversity.com/rules/axe/4.11/input-button-name)."
367
367
  },
368
368
  "core/audits/accessibility/input-button-name.js | failureTitle": {
369
369
  "message": "Syöttöpainikkeissa ei ole selkeää tekstiä."
@@ -372,7 +372,7 @@
372
372
  "message": "Syöttöpainikkeilla on erottuva teksti."
373
373
  },
374
374
  "core/audits/accessibility/input-image-alt.js | description": {
375
- "message": "Kun `<input>`-painikkeena käytetään kuvaa, vaihtoehtoisen tekstin lisääminen voi auttaa näytönlukuohjelman käyttäjiä ymmärtämään painikkeen tarkoituksen. [Lue lisää kuvan vaihtoehtoisesta tekstistä](https://dequeuniversity.com/rules/axe/4.10/input-image-alt)."
375
+ "message": "Kun `<input>`-painikkeena käytetään kuvaa, vaihtoehtoisen tekstin lisääminen voi auttaa näytönlukuohjelman käyttäjiä ymmärtämään painikkeen tarkoituksen. [Lue lisää kuvan vaihtoehtoisesta tekstistä](https://dequeuniversity.com/rules/axe/4.11/input-image-alt)."
376
376
  },
377
377
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
378
378
  "message": "`<input type=\"image\">`-elementeissä ei ole `[alt]`-tekstiä"
@@ -381,7 +381,7 @@
381
381
  "message": "`<input type=\"image\">`-elementeissä on `[alt]`-teksti"
382
382
  },
383
383
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
384
- "message": "Näkyvät tekstitunnisteet, jotka eivät vastaa saavutettavaa nimeä, voivat olla hämmentäviä näytönlukuohjelmien käyttäjille. [Lue lisää saavutettavista nimistä](https://dequeuniversity.com/rules/axe/4.10/label-content-name-mismatch)."
384
+ "message": "Näkyvät tekstitunnisteet, jotka eivät vastaa saavutettavaa nimeä, voivat olla hämmentäviä näytönlukuohjelmien käyttäjille. [Lue lisää saavutettavista nimistä](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch)."
385
385
  },
386
386
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
387
387
  "message": "Näkyvää tekstiä sisältävien elementtien tunnisteilla ei ole vastaavia saavutettavia nimiä."
@@ -390,7 +390,7 @@
390
390
  "message": "Näkyvää tekstiä sisältävien elementtien tunnisteilla on vastaavia saavutettavia nimiä."
391
391
  },
392
392
  "core/audits/accessibility/label.js | description": {
393
- "message": "Tunnisteilla varmistetaan, että avustustekniikat (kuten näytönlukuohjelmat) ilmoittavat lomakkeiden ohjaimista oikein. [Lue lisää lomake-elementtien tunnisteista](https://dequeuniversity.com/rules/axe/4.10/label)."
393
+ "message": "Tunnisteilla varmistetaan, että avustustekniikat (kuten näytönlukuohjelmat) ilmoittavat lomakkeiden ohjaimista oikein. [Lue lisää lomake-elementtien tunnisteista](https://dequeuniversity.com/rules/axe/4.11/label)."
394
394
  },
395
395
  "core/audits/accessibility/label.js | failureTitle": {
396
396
  "message": "Lomakkeiden elementeillä ei ole niihin liittyviä tunnisteita"
@@ -399,7 +399,7 @@
399
399
  "message": "Lomake-elementeillä on niihin liittyvät tunnisteet"
400
400
  },
401
401
  "core/audits/accessibility/landmark-one-main.js | description": {
402
- "message": "Yksi ensisijainen merkki auttaa näytönlukuohjelman käyttäjiä siirtymään verkkosivulle. [Lue lisää merkeistä](https://dequeuniversity.com/rules/axe/4.10/landmark-one-main)."
402
+ "message": "Yksi ensisijainen merkki auttaa näytönlukuohjelman käyttäjiä siirtymään verkkosivulle. [Lue lisää merkeistä](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main)."
403
403
  },
404
404
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
405
405
  "message": "Dokumentilla ei ole ensisijaista merkkiä."
@@ -408,7 +408,7 @@
408
408
  "message": "Dokumentilla on ensisijainen merkki."
409
409
  },
410
410
  "core/audits/accessibility/link-in-text-block.js | description": {
411
- "message": "Alhaisen kontrastin teksti on monelle vaikea tai mahdoton lukea. Erotettavissa oleva linkkiteksti parantaa heikkonäköisten käyttäjien käyttökokemusta. [Katso, miten voit tehdä linkeistä helposti erottuvia](https://dequeuniversity.com/rules/axe/4.10/link-in-text-block)."
411
+ "message": "Alhaisen kontrastin teksti on monelle vaikea tai mahdoton lukea. Erotettavissa oleva linkkiteksti parantaa heikkonäköisten käyttäjien käyttökokemusta. [Katso, miten voit tehdä linkeistä helposti erottuvia](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block)."
412
412
  },
413
413
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
414
414
  "message": "Linkit erottuvat helposti vain, jos ne ovat värikkäitä."
@@ -417,7 +417,7 @@
417
417
  "message": "Linkit erottuvat helposti ilman värejä."
418
418
  },
419
419
  "core/audits/accessibility/link-name.js | description": {
420
- "message": "Linkkiteksti (ja vaihtoehtoinen teksti kuvia varten, kun niitä käytetään linkkeinä), joka on erottuva, yksilöllinen ja tarkennettavissa, parantaa näytönlukuohjelmaa käyttävien navigointikokemusta. [Katso, miten voit mahdollistaa linkkien käytön](https://dequeuniversity.com/rules/axe/4.10/link-name)."
420
+ "message": "Linkkiteksti (ja vaihtoehtoinen teksti kuvia varten, kun niitä käytetään linkkeinä), joka on erottuva, yksilöllinen ja tarkennettavissa, parantaa näytönlukuohjelmaa käyttävien navigointikokemusta. [Katso, miten voit mahdollistaa linkkien käytön](https://dequeuniversity.com/rules/axe/4.11/link-name)."
421
421
  },
422
422
  "core/audits/accessibility/link-name.js | failureTitle": {
423
423
  "message": "Linkkien nimet eivät ole helposti erottuvia"
@@ -426,7 +426,7 @@
426
426
  "message": "Linkkien nimet ovat helposti erottuvia"
427
427
  },
428
428
  "core/audits/accessibility/list.js | description": {
429
- "message": "Näytönlukuohjelmat ilmoittavat luettelot tietyillä tavoilla. Kelvollinen luettelorakenne tukee näytönlukuohjelman tuottamaa sisältöä. [Lue lisää oikeasta luettelorakenteesta](https://dequeuniversity.com/rules/axe/4.10/list)."
429
+ "message": "Näytönlukuohjelmat ilmoittavat luettelot tietyillä tavoilla. Kelvollinen luettelorakenne tukee näytönlukuohjelman tuottamaa sisältöä. [Lue lisää oikeasta luettelorakenteesta](https://dequeuniversity.com/rules/axe/4.11/list)."
430
430
  },
431
431
  "core/audits/accessibility/list.js | failureTitle": {
432
432
  "message": "Luettelot eivät sisällä ainoastaan `<li>`-elementtejä ja skriptiä tukevia elementtejä (`<script>` ja `<template>`)"
@@ -435,7 +435,7 @@
435
435
  "message": "Luettelot sisältävät ainoastaan `<li>`-elementtejä ja skriptiä tukevia elementtejä (`<script>` ja `<template>`)"
436
436
  },
437
437
  "core/audits/accessibility/listitem.js | description": {
438
- "message": "Näytönlukuohjelmat edellyttävät, että luettelokohdat (`<li>`) sisältyvät ylätason elementteihin `<ul>`, `<ol>` tai `<menu>`, jotta ne voidaan ilmoittaa oikein. [Lue lisää oikeasta luettelorakenteesta](https://dequeuniversity.com/rules/axe/4.10/listitem)."
438
+ "message": "Näytönlukuohjelmat edellyttävät, että luettelokohdat (`<li>`) sisältyvät ylätason elementteihin `<ul>`, `<ol>` tai `<menu>`, jotta ne voidaan ilmoittaa oikein. [Lue lisää oikeasta luettelorakenteesta](https://dequeuniversity.com/rules/axe/4.11/listitem)."
439
439
  },
440
440
  "core/audits/accessibility/listitem.js | failureTitle": {
441
441
  "message": "Luettelokohdat (`<li>`) eivät sisälly ylätason `<ul>`-, `<ol>`- tai `<menu>`-elementtiin."
@@ -444,7 +444,7 @@
444
444
  "message": "Luettelokohdat (`<li>`) sisältyvät ylätason `<ul>`-, `<ol>`- tai `<menu>`-elementtiin."
445
445
  },
446
446
  "core/audits/accessibility/meta-refresh.js | description": {
447
- "message": "Käyttäjät eivät odota sivun päivittyvän automaattisesti, ja päivittäminen siirtää kohdistuksen takaisin sivun yläreunaan. Tämä voi tehdä käytöstä turhauttavaa tai sekavaa. [Lue lisää refresh-metatagin käyttämisestä](https://dequeuniversity.com/rules/axe/4.10/meta-refresh)."
447
+ "message": "Käyttäjät eivät odota sivun päivittyvän automaattisesti, ja päivittäminen siirtää kohdistuksen takaisin sivun yläreunaan. Tämä voi tehdä käytöstä turhauttavaa tai sekavaa. [Lue lisää refresh-metatagin käyttämisestä](https://dequeuniversity.com/rules/axe/4.11/meta-refresh)."
448
448
  },
449
449
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
450
450
  "message": "Dokumentissa on käytössä `<meta http-equiv=\"refresh\">`"
@@ -453,7 +453,7 @@
453
453
  "message": "Dokumentti ei käytä `<meta http-equiv=\"refresh\">`-tagia"
454
454
  },
455
455
  "core/audits/accessibility/meta-viewport.js | description": {
456
- "message": "Zoomauksen poistaminen käytöstä aiheuttaa ongelmia heikkonäköisille käyttäjille, jotka tarvitsevat näytön suurennusta nähdäkseen verkkosivun sisällön kunnolla. [Lue lisää viewport-metatagin käyttämisestä](https://dequeuniversity.com/rules/axe/4.10/meta-viewport)."
456
+ "message": "Zoomauksen poistaminen käytöstä aiheuttaa ongelmia heikkonäköisille käyttäjille, jotka tarvitsevat näytön suurennusta nähdäkseen verkkosivun sisällön kunnolla. [Lue lisää viewport-metatagin käyttämisestä](https://dequeuniversity.com/rules/axe/4.11/meta-viewport)."
457
457
  },
458
458
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
459
459
  "message": "`[user-scalable=\"no\"]` on käytössä `<meta name=\"viewport\">`-elementissä tai `[maximum-scale]`-määrite on pienempi kuin 5"
@@ -462,7 +462,7 @@
462
462
  "message": "`[user-scalable=\"no\"]` ei ole käytössä `<meta name=\"viewport\">`-elementissä, ja `[maximum-scale]`-määrite on vähintään 5"
463
463
  },
464
464
  "core/audits/accessibility/object-alt.js | description": {
465
- "message": "Näytönlukuohjelmat eivät voi kääntää sisältöä, joka ei ole tekstiä. Vaihtoehtoisen tekstin lisääminen `<object>`-elementteihin auttaa näytönlukuohjelmia esittämään sisällön merkityksen käyttäjille. [Lue lisää `object`-elementin vaihtoehtoisesta tekstistä](https://dequeuniversity.com/rules/axe/4.10/object-alt)."
465
+ "message": "Näytönlukuohjelmat eivät voi kääntää sisältöä, joka ei ole tekstiä. Vaihtoehtoisen tekstin lisääminen `<object>`-elementteihin auttaa näytönlukuohjelmia esittämään sisällön merkityksen käyttäjille. [Lue lisää `object`-elementin vaihtoehtoisesta tekstistä](https://dequeuniversity.com/rules/axe/4.11/object-alt)."
466
466
  },
467
467
  "core/audits/accessibility/object-alt.js | failureTitle": {
468
468
  "message": "`<object>`-elementeissä ei ole vaihtoehtoista tekstiä."
@@ -471,7 +471,7 @@
471
471
  "message": "`<object>`-elementeissä on vaihtoehtoista tekstiä."
472
472
  },
473
473
  "core/audits/accessibility/select-name.js | description": {
474
- "message": "Jos lomake-elementeillä ei ole hyödyllisiä tunnisteita, käyttökokemus voi olla turhauttava näytönlukuohjelman käyttäjille. [Lue lisää `select`-elementistä](https://dequeuniversity.com/rules/axe/4.10/select-name)."
474
+ "message": "Jos lomake-elementeillä ei ole hyödyllisiä tunnisteita, käyttökokemus voi olla turhauttava näytönlukuohjelman käyttäjille. [Lue lisää `select`-elementistä](https://dequeuniversity.com/rules/axe/4.11/select-name)."
475
475
  },
476
476
  "core/audits/accessibility/select-name.js | failureTitle": {
477
477
  "message": "Tietyt elementit eivät sisällä tunniste-elementtejä."
@@ -480,7 +480,7 @@
480
480
  "message": "Tietyt elementit sisältävät tunniste-elementtejä."
481
481
  },
482
482
  "core/audits/accessibility/skip-link.js | description": {
483
- "message": "Ohituslinkin lisääminen voi auttaa käyttäjiä siirtymään pääsisältöön nopeammin. [Lue lisää ohituslinkeistä](https://dequeuniversity.com/rules/axe/4.10/skip-link)."
483
+ "message": "Ohituslinkin lisääminen voi auttaa käyttäjiä siirtymään pääsisältöön nopeammin. [Lue lisää ohituslinkeistä](https://dequeuniversity.com/rules/axe/4.11/skip-link)."
484
484
  },
485
485
  "core/audits/accessibility/skip-link.js | failureTitle": {
486
486
  "message": "Ohituslinkkejä ei voi kohdistaa."
@@ -489,7 +489,7 @@
489
489
  "message": "Ohitettavat linkit ovat kohdistettavissa."
490
490
  },
491
491
  "core/audits/accessibility/tabindex.js | description": {
492
- "message": "Navigointijärjestys on eksplisiittinen, jos arvo on suurempi kuin 0. Vaikka ratkaisu on teknisesti käypä, se tekee usein kokemuksesta turhauttavaa avustustekniikkaa tarvitseville käyttäjille. [Lue lisää `tabindex`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/tabindex)."
492
+ "message": "Navigointijärjestys on eksplisiittinen, jos arvo on suurempi kuin 0. Vaikka ratkaisu on teknisesti käypä, se tekee usein kokemuksesta turhauttavaa avustustekniikkaa tarvitseville käyttäjille. [Lue lisää `tabindex`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/tabindex)."
493
493
  },
494
494
  "core/audits/accessibility/tabindex.js | failureTitle": {
495
495
  "message": "Joidenkin elementtien `[tabindex]`-arvo on suurempi kuin 0"
@@ -498,7 +498,7 @@
498
498
  "message": "Yhdenkään elementin `[tabindex]`-arvo ei ole suurempi kuin 0"
499
499
  },
500
500
  "core/audits/accessibility/table-duplicate-name.js | description": {
501
- "message": "Yhteenvetomääritteen tulee kuvata taulukon rakennetta, kun taas `<caption>`-osiossa pitäisi olla näytöllä näkyvä otsikko. Tarkka taulukon merkintä auttaa näytönlukuohjelmien käyttäjiä. [Lue lisää yhteenvedosta ja kuvatekstistä](https://dequeuniversity.com/rules/axe/4.10/table-duplicate-name)."
501
+ "message": "Yhteenvetomääritteen tulee kuvata taulukon rakennetta, kun taas `<caption>`-osiossa pitäisi olla näytöllä näkyvä otsikko. Tarkka taulukon merkintä auttaa näytönlukuohjelmien käyttäjiä. [Lue lisää yhteenvedosta ja kuvatekstistä](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name)."
502
502
  },
503
503
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
504
504
  "message": "Taulukoiden sisältö on sama yhteenvetomääritteessä ja täällä: `<caption>.`"
@@ -507,7 +507,7 @@
507
507
  "message": "Taulukoiden sisältö on eri yhteenvetomääritteessä ja täällä: `<caption>`"
508
508
  },
509
509
  "core/audits/accessibility/table-fake-caption.js | description": {
510
- "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttökokemusta varmistamalla, että taulukot käyttävät varsinaista tekstityselementtiä `[colspan]`-määritteen sisältävien solujen sijaan. [Katso lisätietoa tekstityksistä](https://dequeuniversity.com/rules/axe/4.10/table-fake-caption)."
510
+ "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttökokemusta varmistamalla, että taulukot käyttävät varsinaista tekstityselementtiä `[colspan]`-määritteen sisältävien solujen sijaan. [Katso lisätietoa tekstityksistä](https://dequeuniversity.com/rules/axe/4.11/table-fake-caption)."
511
511
  },
512
512
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
513
513
  "message": "Taulukoissa ei käytetä `<caption>`-määritettä sellaisten solujen sijaan, joissa on `[colspan]`-attribuutti tekstityksen merkkinä."
@@ -516,7 +516,7 @@
516
516
  "message": "Taulukoissa käytetään `<caption>`-määritettä sellaisten solujen sijaan, joissa on `[colspan]`-attribuutti tekstityksen merkkinä."
517
517
  },
518
518
  "core/audits/accessibility/target-size.js | description": {
519
- "message": "Kun kosketusalueilla on riittävän suuret välit ja koko, käyttäjien, joilla on vaikeuksia kohdistaa pieniin säätimiin, on helpompi aktivoida kohteita. [Lue lisää kosketusalueista](https://dequeuniversity.com/rules/axe/4.10/target-size)."
519
+ "message": "Kun kosketusalueilla on riittävän suuret välit ja koko, käyttäjien, joilla on vaikeuksia kohdistaa pieniin säätimiin, on helpompi aktivoida kohteita. [Lue lisää kosketusalueista](https://dequeuniversity.com/rules/axe/4.11/target-size)."
520
520
  },
521
521
  "core/audits/accessibility/target-size.js | failureTitle": {
522
522
  "message": "Kosketusalueiden koko tai välit eivät ole riittäviä."
@@ -525,7 +525,7 @@
525
525
  "message": "Kosketusalueiden koko ja välit ovat riittäviä."
526
526
  },
527
527
  "core/audits/accessibility/td-has-header.js | description": {
528
- "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttökokemusta varmistamalla, että suuren taulukon (vähintään kolme sarake- ja rivisolua) `<td>`-elementeillä on niihin liittyvä taulukon otsikko. [Lue lisää taulukoiden otsikoista](https://dequeuniversity.com/rules/axe/4.10/td-has-header)."
528
+ "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttökokemusta varmistamalla, että suuren taulukon (vähintään kolme sarake- ja rivisolua) `<td>`-elementeillä on niihin liittyvä taulukon otsikko. [Lue lisää taulukoiden otsikoista](https://dequeuniversity.com/rules/axe/4.11/td-has-header)."
529
529
  },
530
530
  "core/audits/accessibility/td-has-header.js | failureTitle": {
531
531
  "message": "Suuren `<table>`-elementin `<td>`-elementeillä ei ole otsikoita taulukoissa."
@@ -534,7 +534,7 @@
534
534
  "message": "Suuren `<table>`-elementin `<td>`-elementeillä on vähintään yksi otsikko taulukoissa."
535
535
  },
536
536
  "core/audits/accessibility/td-headers-attr.js | description": {
537
- "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttäjien kokemusta varmistamalla, että `[headers]`-määritettä käyttävät `<td>`-solut viittaavat vain toisiin soluihin samassa taulukossa. [Lue lisää `headers`‐määritteestä](https://dequeuniversity.com/rules/axe/4.10/td-headers-attr)."
537
+ "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttäjien kokemusta varmistamalla, että `[headers]`-määritettä käyttävät `<td>`-solut viittaavat vain toisiin soluihin samassa taulukossa. [Lue lisää `headers`‐määritteestä](https://dequeuniversity.com/rules/axe/4.11/td-headers-attr)."
538
538
  },
539
539
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
540
540
  "message": "`[headers]`-määritettä käyttävät `<table>`-elementin solut viittaavat elementtiin (`id`), joka ei ole samassa taulukossa."
@@ -543,7 +543,7 @@
543
543
  "message": "`[headers]`-määritettä käyttävät `<table>`-elementin solut viittaavat soluihin samassa taulukossa"
544
544
  },
545
545
  "core/audits/accessibility/th-has-data-cells.js | description": {
546
- "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelmaa käyttävien kokemusta varmistamalla, että taulukoiden otsikot viittaavat aina johonkin solujoukkoon. [Lue lisää taulukoiden otsikoista](https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells)."
546
+ "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelmaa käyttävien kokemusta varmistamalla, että taulukoiden otsikot viittaavat aina johonkin solujoukkoon. [Lue lisää taulukoiden otsikoista](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells)."
547
547
  },
548
548
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
549
549
  "message": "`<th>`-elementit ja elementit, joissa on `[role=\"columnheader\"/\"rowheader\"]`, eivät sisällä niissä kuvattuja datasoluja"
@@ -552,7 +552,7 @@
552
552
  "message": "`<th>`-elementit ja elementit, joissa on `[role=\"columnheader\"/\"rowheader\"]`, sisältävät niissä kuvatut datasolut"
553
553
  },
554
554
  "core/audits/accessibility/valid-lang.js | description": {
555
- "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa varmistamaan, että näytönlukuohjelma ääntää tekstin oikein. [Lue lisää `lang`‐määritteen käyttämisestä](https://dequeuniversity.com/rules/axe/4.10/valid-lang)."
555
+ "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa varmistamaan, että näytönlukuohjelma ääntää tekstin oikein. [Lue lisää `lang`‐määritteen käyttämisestä](https://dequeuniversity.com/rules/axe/4.11/valid-lang)."
556
556
  },
557
557
  "core/audits/accessibility/valid-lang.js | failureTitle": {
558
558
  "message": "`[lang]`-määritteiden arvot eivät ole kelvollisia"
@@ -561,7 +561,7 @@
561
561
  "message": "`[lang]`-määritteillä on kelvollinen arvo"
562
562
  },
563
563
  "core/audits/accessibility/video-caption.js | description": {
564
- "message": "Kun videossa on tekstitykset, kuurot ja heikkokuuloiset saavat videon tiedot paremmin. [Lue lisää videoiden tekstityksistä](https://dequeuniversity.com/rules/axe/4.10/video-caption)."
564
+ "message": "Kun videossa on tekstitykset, kuurot ja heikkokuuloiset saavat videon tiedot paremmin. [Lue lisää videoiden tekstityksistä](https://dequeuniversity.com/rules/axe/4.11/video-caption)."
565
565
  },
566
566
  "core/audits/accessibility/video-caption.js | failureTitle": {
567
567
  "message": "Elementit (`<video>`) eivät sisällä elementtiä (`<track>`), jossa on `[kind=\"captions\"]`"
@@ -647,45 +647,6 @@
647
647
  "core/audits/bootup-time.js | title": {
648
648
  "message": "JavaScriptin suorittamiseen kuluva aika"
649
649
  },
650
- "core/audits/byte-efficiency/duplicated-javascript.js | description": {
651
- "message": "Poista suuret, kopioidut JavaScript-moduulit paketeista pienentääksesi verkkotoiminnan tarpeetonta tavunkulutusta. "
652
- },
653
- "core/audits/byte-efficiency/duplicated-javascript.js | title": {
654
- "message": "Poista kaksoismoduulit JavaScript-paketeista"
655
- },
656
- "core/audits/byte-efficiency/efficient-animated-content.js | description": {
657
- "message": "Suuret GIFit eivät ole tehokas tapa jaella animoitua sisältöä. Voit pienentää ladattavien tavujen määrää jakelemalla animaatioita MPEG4- tai WebM-muodossa ja staattisia kuvia PNG- tai WebP-muodossa. [Lue lisää tehokkaista videomuodoista](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)"
658
- },
659
- "core/audits/byte-efficiency/efficient-animated-content.js | title": {
660
- "message": "Jakele animaatiosisältöä videomuodossa"
661
- },
662
- "core/audits/byte-efficiency/legacy-javascript.js | description": {
663
- "message": "Polyfill- ja transform-merkintöjen avulla vanhat selaimet voivat käyttää uusia JavaScript-ominaisuuksia. Monia ei kuitenkaan tarvita nykyaikaisissa selaimissa. Harkitse JavaScript-käännösprosessin muuttamista niin, että [Baseline](https://web.dev/baseline)-ominaisuuksia ei transpiloida, ellet tiedä, että sinun on tuettava vanhoja selaimia. [Lue lisää siitä, miksi useimmat sivustot voivat ottaa käyttöön ES6+-koodin ilman transpilointia](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
664
- },
665
- "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
666
- "message": "Sivulla havaittiin core-js:n versio 2. Päivitä versioon 3, niin saat käyttöösi useita suorituskyvyn parannuksia."
667
- },
668
- "core/audits/byte-efficiency/legacy-javascript.js | title": {
669
- "message": "Vältä vanhan JavaScriptin näyttämistä nykyaikaisilla selaimilla"
670
- },
671
- "core/audits/byte-efficiency/modern-image-formats.js | description": {
672
- "message": "WebP:n ja AVIF:n kaltaiset kuvamuodot pakkautuvat usein paremmin kuin PNG tai JPEG, mikä nopeuttaa lataamista ja kuluttaa vähemmän dataa. [Lue lisää moderneista kuvamuodoista](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)."
673
- },
674
- "core/audits/byte-efficiency/modern-image-formats.js | title": {
675
- "message": "Jakele kuvat seuraavan sukupolven muodoissa"
676
- },
677
- "core/audits/byte-efficiency/offscreen-images.js | description": {
678
- "message": "Suosittelemme lykkäämään poissa näkyvistä olevien ja piilotettujen kuvien lataamista, kunnes kaikki kriittiset resurssit on ladattu. [Lue lisää poissa näkyvistä olevien kuvien latauksen lykkäämisestä](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)."
679
- },
680
- "core/audits/byte-efficiency/offscreen-images.js | title": {
681
- "message": "Lykkää kuvien lataamista, jos ne eivät ole näkyvissä"
682
- },
683
- "core/audits/byte-efficiency/render-blocking-resources.js | description": {
684
- "message": "Resurssit estävät sivun ensimmäisen renderöinnin. Suosittelemme jakelemaan kriittiset JS- ja CSS-osat sivuun upotettuina ja lykkäämään kaikkien ei-kriittisten JS- tai tyyliosien lataamista. [Katso, miten voit poistaa renderöinnin estäviä resursseja](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)."
685
- },
686
- "core/audits/byte-efficiency/render-blocking-resources.js | title": {
687
- "message": "Poista renderöinnin estävät resurssit"
688
- },
689
650
  "core/audits/byte-efficiency/total-byte-weight.js | description": {
690
651
  "message": "Suuret verkkoresurssit aiheuttavat kuluja käyttäjille ja liittyvät vahvasti pitkiin latausaikoihin. [Lue lisää resurssien koon pienentämisestä](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
691
652
  },
@@ -722,48 +683,6 @@
722
683
  "core/audits/byte-efficiency/unused-javascript.js | title": {
723
684
  "message": "Vähennä käyttämätöntä JavaScriptiä"
724
685
  },
725
- "core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
726
- "message": "Pitkä välimuistin käyttöikä voi nopeuttaa sivun lataamista, kun käyttäjä avaa sen uudelleen. [Lue lisää tehokkaista välimuistikäytännöistä](https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl/)."
727
- },
728
- "core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
729
- "message": "{itemCount,plural, =1{1 resurssi löydetty}other{# resurssia löydetty}}"
730
- },
731
- "core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
732
- "message": "Käytä tehokasta välimuistikäytäntöä staattisten resurssien jakelemiseen"
733
- },
734
- "core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
735
- "message": "Käyttää tehokasta välimuistikäytäntöä staattisten resurssien käsittelyyn"
736
- },
737
- "core/audits/byte-efficiency/uses-optimized-images.js | description": {
738
- "message": "Optimoidut kuvat latautuvat nopeammin ja kuluttavat vähemmän mobiilidataa. [Lue lisää kuvien tehokkaasta koodaamisesta](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)."
739
- },
740
- "core/audits/byte-efficiency/uses-optimized-images.js | title": {
741
- "message": "Koodaa kuvat tehokkaasti"
742
- },
743
- "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
744
- "message": "Todelliset mitat"
745
- },
746
- "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
747
- "message": "Ilmoitetut mitat"
748
- },
749
- "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
750
- "message": "Kuvat olivat näytettyä kokoa suurempia"
751
- },
752
- "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
753
- "message": "Kuvat olivat näytettyyn kokoon nähden sopivia"
754
- },
755
- "core/audits/byte-efficiency/uses-responsive-images.js | description": {
756
- "message": "Näytä sopivan kokoisia kuvia, jotta voit vähentää mobiilidatan kulutusta ja lyhentää latausaikoja. [Katso, miten voit muuttaa kuvien kokoa](https://developer.chrome.com/docs/lighthouse/performance/uses-responsive-images/)."
757
- },
758
- "core/audits/byte-efficiency/uses-responsive-images.js | title": {
759
- "message": "Määritä kuvien koko oikein"
760
- },
761
- "core/audits/byte-efficiency/uses-text-compression.js | description": {
762
- "message": "Tekstipohjaiset resurssit on hyvä pakata ennen jakelua (gzip, deflate tai brotli), jotta ladattavien tavujen määrä voidaan minimoida. [Lue lisää tekstin pakkaamisesta](https://developer.chrome.com/docs/lighthouse/performance/uses-text-compression/)."
763
- },
764
- "core/audits/byte-efficiency/uses-text-compression.js | title": {
765
- "message": "Ota tekstin pakkaus käyttöön"
766
- },
767
686
  "core/audits/clickjacking-mitigation.js | columnSeverity": {
768
687
  "message": "Vakavuus"
769
688
  },
@@ -776,15 +695,6 @@
776
695
  "core/audits/clickjacking-mitigation.js | title": {
777
696
  "message": "Pienennä clickjackauksen riskiä XFO:lla tai CSP:llä"
778
697
  },
779
- "core/audits/critical-request-chains.js | description": {
780
- "message": "Alla olevat kriittiset pyyntöketjut kertovat, minkä resurssien lataaminen priorisoidaan. Suosittelemme parantamaan sivun latausaikaa lyhentämällä ketjuja, pienentämällä resurssien latauskokoa ja lykkäämällä tarpeettomien resurssien lataamista. [Lue, miten voit välttää kriittisten pyyntöjen ketjuttamisen](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
781
- },
782
- "core/audits/critical-request-chains.js | displayValue": {
783
- "message": "{itemCount,plural, =1{1 ketju löydetty}other{# ketjua löydetty}}"
784
- },
785
- "core/audits/critical-request-chains.js | title": {
786
- "message": "Vältä kriittisten pyyntöjen ketjuttamista"
787
- },
788
698
  "core/audits/csp-xss.js | columnDirective": {
789
699
  "message": "Sääntö"
790
700
  },
@@ -860,33 +770,6 @@
860
770
  "core/audits/dobetterweb/doctype.js | title": {
861
771
  "message": "Sivulla on HTML-dokumenttityyppi"
862
772
  },
863
- "core/audits/dobetterweb/dom-size.js | columnStatistic": {
864
- "message": "Tilastotieto"
865
- },
866
- "core/audits/dobetterweb/dom-size.js | columnValue": {
867
- "message": "Arvo"
868
- },
869
- "core/audits/dobetterweb/dom-size.js | description": {
870
- "message": "Suuri DOM lisää muistin käyttöä, pidentää [tyylilaskelmia](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) ja aiheuttaa työläitä [asettelun uudelleenjuoksutuksia](https://developers.google.com/speed/articles/reflow). [Katso, miten voit välttää liian suuren DOM:n](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
871
- },
872
- "core/audits/dobetterweb/dom-size.js | displayValue": {
873
- "message": "{itemCount,plural, =1{1 elementti}other{# elementtiä}}"
874
- },
875
- "core/audits/dobetterweb/dom-size.js | failureTitle": {
876
- "message": "Vältä liian suurta DOM:ää"
877
- },
878
- "core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
879
- "message": "DOM:n enimmäissyvyys"
880
- },
881
- "core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
882
- "message": "DOM-elementit yhteensä"
883
- },
884
- "core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
885
- "message": "Alatason elementtien maksimimäärä"
886
- },
887
- "core/audits/dobetterweb/dom-size.js | title": {
888
- "message": "Välttää liian suurta DOM:ää"
889
- },
890
773
  "core/audits/dobetterweb/geolocation-on-start.js | description": {
891
774
  "message": "Sivustot, jotka pyytävät sijainnin käyttöoikeutta ilman asiayhteyttä, saavat käyttäjät epäluuloisiksi tai hämmentävät heitä. Kokeile sen sijaan yhdistää pyyntö käyttäjätoimintoon. [Lue lisää maantieteellisen sijainnin luvasta](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
892
775
  },
@@ -923,15 +806,6 @@
923
806
  "core/audits/dobetterweb/js-libraries.js | title": {
924
807
  "message": "Havaitut JavaScript-kirjastot"
925
808
  },
926
- "core/audits/dobetterweb/no-document-write.js | description": {
927
- "message": "Hitaiden yhteyksien käyttäjien kohdalla `document.write()`-komennolla dynaamisesti lisätyt ulkoiset skriptit voivat hidastaa sivun latausta kymmenillä sekunneilla. [Katso, miten voit välttää document.write()-komentoa](https://developer.chrome.com/docs/lighthouse/best-practices/no-document-write/)."
928
- },
929
- "core/audits/dobetterweb/no-document-write.js | failureTitle": {
930
- "message": "Vältä: `document.write()`"
931
- },
932
- "core/audits/dobetterweb/no-document-write.js | title": {
933
- "message": "Vältetty: `document.write()`"
934
- },
935
809
  "core/audits/dobetterweb/notification-on-start.js | description": {
936
810
  "message": "Sivustot, jotka pyytävät lupaa ilmoitusten lähettämiseen ilman asiayhteyttä, saavat käyttäjät epäluuloisiksi tai hämmentävät heitä. Kokeile sen sijaan yhdistää pyyntö käyttäjäeleisiin. [Lue lisää ilmoitusluvan pyytämisestä vastuullisesti](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)."
937
811
  },
@@ -950,27 +824,6 @@
950
824
  "core/audits/dobetterweb/paste-preventing-inputs.js | title": {
951
825
  "message": "Sallii käyttäjien liittää sisältöä syötekenttiin"
952
826
  },
953
- "core/audits/dobetterweb/uses-http2.js | columnProtocol": {
954
- "message": "Protokolla"
955
- },
956
- "core/audits/dobetterweb/uses-http2.js | description": {
957
- "message": "HTTP/2 tarjoaa monia etuja HTTP/1.1:een verrattuna, mukaan lukien binaariotsikot ja kanavoinnin. [Lue lisää HTTP/2:sta](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)."
958
- },
959
- "core/audits/dobetterweb/uses-http2.js | displayValue": {
960
- "message": "{itemCount,plural, =1{1 pyyntöä ei tehty HTTP/2:n kautta}other{# pyyntöä ei tehty HTTP/2:n kautta}}"
961
- },
962
- "core/audits/dobetterweb/uses-http2.js | title": {
963
- "message": "Käytä HTTP/2:ta"
964
- },
965
- "core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
966
- "message": "Sinun kannattaa ehkä merkitä kosketus- ja vieritystapahtumien seurainten arvoksi `passive` sivun vieritystoiminnan parantamiseksi. [Lue lisää passiivisten tapahtumaseurainten käyttöönotosta](https://developer.chrome.com/docs/lighthouse/best-practices/uses-passive-event-listeners/)."
967
- },
968
- "core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
969
- "message": "Ei käytä passiivisia seuraimia vieritystoiminnan parantamiseen"
970
- },
971
- "core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
972
- "message": "Käyttää passiivisia seuraimia vieritystoiminnan parantamiseen"
973
- },
974
827
  "core/audits/errors-in-console.js | description": {
975
828
  "message": "Konsoliin kirjatut virheet viittaavat ratkaisemattomiin ongelmiin. Ne voivat johtua epäonnistuneista verkkopyynnöistä ja muista selainongelmista. [Lue lisää virheistä konsolin diagnostiikkatarkastuksesta](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)."
976
829
  },
@@ -980,18 +833,6 @@
980
833
  "core/audits/errors-in-console.js | title": {
981
834
  "message": "Konsoliin ei kirjattu selainvirheitä"
982
835
  },
983
- "core/audits/font-display.js | description": {
984
- "message": "Hyödynnä `font-display` CSS ‑ominaisuutta, jotta voit varmistaa tekstin näkymisen käyttäjille verkkofonttien latautuessa. [Lue lisää: `font-display`](https://developer.chrome.com/docs/lighthouse/performance/font-display/)."
985
- },
986
- "core/audits/font-display.js | failureTitle": {
987
- "message": "Varmista, että teksti pysyy näkyvissä verkkofontin lataamisen aikana"
988
- },
989
- "core/audits/font-display.js | title": {
990
- "message": "Kaikki teksti pysyy näkyvissä verkkofontin lataamisen aikana"
991
- },
992
- "core/audits/font-display.js | undeclaredFontOriginWarning": {
993
- "message": "{fontCountForOrigin,plural, =1{Lighthouse ei voinut automaattisesti tarkistaa lähteen ({fontOrigin}) arvoa: `font-display`.}other{Lighthouse ei voinut automaattisesti tarkistaa lähteen ({fontOrigin}) arvoja: `font-display`.}}"
994
- },
995
836
  "core/audits/has-hsts.js | columnDirective": {
996
837
  "message": "Sääntö"
997
838
  },
@@ -1088,33 +929,6 @@
1088
929
  "core/audits/is-on-https.js | warning": {
1089
930
  "message": "Sallittu varoituksen kanssa"
1090
931
  },
1091
- "core/audits/largest-contentful-paint-element.js | columnPercentOfLCP": {
1092
- "message": "% LCP:stä"
1093
- },
1094
- "core/audits/largest-contentful-paint-element.js | columnPhase": {
1095
- "message": "Vaihe"
1096
- },
1097
- "core/audits/largest-contentful-paint-element.js | columnTiming": {
1098
- "message": "Ajoitus"
1099
- },
1100
- "core/audits/largest-contentful-paint-element.js | description": {
1101
- "message": "Tämä on näkymän suurin renderöity sisältö. [Lue lisää Sivun latautumisaika ‐mittarista](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)."
1102
- },
1103
- "core/audits/largest-contentful-paint-element.js | itemLoadDelay": {
1104
- "message": "Latautumisen viive"
1105
- },
1106
- "core/audits/largest-contentful-paint-element.js | itemLoadTime": {
1107
- "message": "Latautumisaika"
1108
- },
1109
- "core/audits/largest-contentful-paint-element.js | itemRenderDelay": {
1110
- "message": "Renderöinnin viive"
1111
- },
1112
- "core/audits/largest-contentful-paint-element.js | itemTTFB": {
1113
- "message": "TTFB"
1114
- },
1115
- "core/audits/largest-contentful-paint-element.js | title": {
1116
- "message": "Suurin renderöity sisältöosa"
1117
- },
1118
932
  "core/audits/layout-shifts.js | columnScore": {
1119
933
  "message": "Asettelun muutospisteet"
1120
934
  },
@@ -1136,15 +950,6 @@
1136
950
  "core/audits/layout-shifts.js | title": {
1137
951
  "message": "Vältä suuria asettelun muutoksia"
1138
952
  },
1139
- "core/audits/lcp-lazy-loaded.js | description": {
1140
- "message": "Laiskasti latautuvat sivun yläosan kuvat renderöidään sivulla myöhemmin, mikä voi viivästyttää sivun latautumisaikaa. [Lue lisää optimaalisesta laiskasta latautumisesta](https://web.dev/articles/lcp-lazy-loading)."
1141
- },
1142
- "core/audits/lcp-lazy-loaded.js | failureTitle": {
1143
- "message": "Sivun latautumisajan kuva latautui laiskasti"
1144
- },
1145
- "core/audits/lcp-lazy-loaded.js | title": {
1146
- "message": "Sivun latautumisajan kuva ei latautunut laiskasti"
1147
- },
1148
953
  "core/audits/long-tasks.js | description": {
1149
954
  "message": "Näyttää pääsäikeen pitkäkestoisimmat tehtävät, mistä on apua syöttöviiveen pahimpien aiheuttajien tunnistamisessa. [Katso, miten voit välttää pitkät pääsäikeen tehtävät](https://web.dev/articles/optimize-long-tasks)."
1150
955
  },
@@ -1172,9 +977,6 @@
1172
977
  "core/audits/metrics/first-contentful-paint.js | description": {
1173
978
  "message": "Ensimmäinen sisällön renderöinti kertoo, milloin ensimmäinen tekstikohde tai kuva renderöidään. [Lue lisää Ensimmäinen sisällön renderöinti ‐mittarista](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)."
1174
979
  },
1175
- "core/audits/metrics/first-meaningful-paint.js | description": {
1176
- "message": "Ensimmäinen merkityksellinen renderöinti kertoo, milloin sivun ensisijainen sisältö tulee näkyviin. [Lue lisää Ensimmäinen merkityksellinen renderöinti ‐mittarista](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/)."
1177
- },
1178
980
  "core/audits/metrics/interaction-to-next-paint.js | description": {
1179
981
  "message": "Interaktiosta seuraavaan renderöintiin ‐mittari mittaa sivun responsiivisuutta eli sitä, kuinka pian sivu vastaa näkyvästi käyttäjän palautteeseen. [Lue lisää Interaktiosta seuraavaan renderöintiin ‐mittarista](https://web.dev/articles/inp)."
1180
982
  },
@@ -1229,6 +1031,9 @@
1229
1031
  "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1230
1032
  "message": "{propertyCount,plural, =1{Ei-tuettu CSS-omaisuus: {properties}}other{Ei-tuetut CSS-omaisuudet: {properties}}}"
1231
1033
  },
1034
+ "core/audits/non-composited-animations.js | unsupportedCustomCSSProperty": {
1035
+ "message": "{propertyCount,plural, =1{Mukautettuja CSS-muuttujia ei voi animoida kompositoijassa: {properties}}other{Mukautettuja CSS-muuttujia ei voi animoida kompositoijassa: {properties}}}"
1036
+ },
1232
1037
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1233
1038
  "message": "Tehosteessa on ei-tuettuja ajoitusparametreja"
1234
1039
  },
@@ -1250,21 +1055,6 @@
1250
1055
  "core/audits/origin-isolation.js | title": {
1251
1056
  "message": "Varmista alkuperän oikea eristäminen COOP:n avulla"
1252
1057
  },
1253
- "core/audits/preload-fonts.js | description": {
1254
- "message": "Esilataa `optional` fonttia ensikertalaisten kävijöiden saataville. [Lue lisää fonttien esilataamisesta](https://web.dev/articles/preload-optional-fonts)."
1255
- },
1256
- "core/audits/preload-fonts.js | failureTitle": {
1257
- "message": "Fontteja, joissa on `font-display: optional`, ei ole esiladattu"
1258
- },
1259
- "core/audits/preload-fonts.js | title": {
1260
- "message": "Fontit, joissa on `font-display: optional`, on esiladattu"
1261
- },
1262
- "core/audits/prioritize-lcp-image.js | description": {
1263
- "message": "Jos LCP-elementti on lisätty dynaamisesti sivulle, sinun pitää esiladata kuva LCP:n parantamiseksi. [Lue lisää LCP-elementtien esilataamisesta](https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered)."
1264
- },
1265
- "core/audits/prioritize-lcp-image.js | title": {
1266
- "message": "Esilataa sivun latautumisajan kuva"
1267
- },
1268
1058
  "core/audits/redirects-http.js | description": {
1269
1059
  "message": "Varmista, että uudelleenohjaat kaiken HTTP-liikenteen HTTPS:ään, jotta kaikki käyttäjät saavat turvalliset verkko-ominaisuudet. [Lue lisää](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/)."
1270
1060
  },
@@ -1316,36 +1106,6 @@
1316
1106
  "core/audits/seo/crawlable-anchors.js | title": {
1317
1107
  "message": "Linkit ovat indeksoitavissa"
1318
1108
  },
1319
- "core/audits/seo/font-size.js | additionalIllegibleText": {
1320
- "message": "Muu lukukelvoton teksti"
1321
- },
1322
- "core/audits/seo/font-size.js | columnFontSize": {
1323
- "message": "Fonttikoko"
1324
- },
1325
- "core/audits/seo/font-size.js | columnPercentPageText": {
1326
- "message": "% sivun tekstistä"
1327
- },
1328
- "core/audits/seo/font-size.js | columnSelector": {
1329
- "message": "Valitsin"
1330
- },
1331
- "core/audits/seo/font-size.js | description": {
1332
- "message": "Alle 12 pikselin kirjasinkoot ovat liian pieniä luettavaksi ja edellyttävät mobiilivierailijoiden zoomaavan nipistämällä voidakseen lukea. Pyri siihen, että >60 % sivun tekstistä on ≥12 px. [Lue lisää helppolukuisesta fonttikoosta](https://developer.chrome.com/docs/lighthouse/seo/font-size/)."
1333
- },
1334
- "core/audits/seo/font-size.js | displayValue": {
1335
- "message": "{decimalProportion, number, extendedPercent} lukukelpoista tekstiä"
1336
- },
1337
- "core/audits/seo/font-size.js | explanationViewport": {
1338
- "message": "Teksti on lukukelvotonta, koska näkymän sisällönkuvauskenttää ei ole optimoitu mobiilinäytöille."
1339
- },
1340
- "core/audits/seo/font-size.js | failureTitle": {
1341
- "message": "Dokumentissa ei käytetä lukukelpoisia fonttikokoja"
1342
- },
1343
- "core/audits/seo/font-size.js | legibleText": {
1344
- "message": "Lukukelpoista tekstiä"
1345
- },
1346
- "core/audits/seo/font-size.js | title": {
1347
- "message": "Dokumentti käyttää lukukelpoisia fonttikokoja"
1348
- },
1349
1109
  "core/audits/seo/hreflang.js | description": {
1350
1110
  "message": "hreflang-linkit kertovat hakukoneille, mikä sivuversio niiden pitäisi lisätä tietyn kielen tai alueen hakutuloksiin. [Lue lisää: `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)."
1351
1111
  },
@@ -1392,7 +1152,7 @@
1392
1152
  "message": "Linkeissä on kuvailevaa tekstiä"
1393
1153
  },
1394
1154
  "core/audits/seo/manual/structured-data.js | description": {
1395
- "message": "Suorita [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) ja [Structured Data Linter](http://linter.structured-data.org/) vahvistaaksesi strukturoidun datan. [Lue lisää strukturoidusta datasta](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
1155
+ "message": "Vahvista strukturoitu data [Structured Data Testing Toolilla](https://developers.google.com/search/docs/appearance/structured-data/). [Lue lisää strukturoidusta datasta](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
1396
1156
  },
1397
1157
  "core/audits/seo/manual/structured-data.js | title": {
1398
1158
  "message": "Strukturoitu data on kelvollinen"
@@ -1451,48 +1211,6 @@
1451
1211
  "core/audits/third-party-cookies.js | title": {
1452
1212
  "message": "Välttää kolmannen osapuolen evästeitä"
1453
1213
  },
1454
- "core/audits/third-party-facades.js | categoryCustomerSuccess": {
1455
- "message": "{productName} (asiakkaiden menestystarinat)"
1456
- },
1457
- "core/audits/third-party-facades.js | categoryMarketing": {
1458
- "message": "{productName} (markkinointi)"
1459
- },
1460
- "core/audits/third-party-facades.js | categorySocial": {
1461
- "message": "{productName} (some)"
1462
- },
1463
- "core/audits/third-party-facades.js | categoryVideo": {
1464
- "message": "{productName} (video)"
1465
- },
1466
- "core/audits/third-party-facades.js | columnProduct": {
1467
- "message": "Tuote"
1468
- },
1469
- "core/audits/third-party-facades.js | description": {
1470
- "message": "Osa kolmansien osapuolten upotuksista on ladattavissa laiskasti. Kannattaa ehkä korvata ne fasadeilla, kunnes niitä tarvitaan. [Lue lisää kolmansien osapuolten lykkäämisestä fasadilla](https://developer.chrome.com/docs/lighthouse/performance/third-party-facades/)."
1471
- },
1472
- "core/audits/third-party-facades.js | displayValue": {
1473
- "message": "{itemCount,plural, =1{# vaihtoehtoinen fasadi saatavilla}other{# vaihtoehtoista fasadia saatavilla}}"
1474
- },
1475
- "core/audits/third-party-facades.js | failureTitle": {
1476
- "message": "Osa kolmansien osapuolten sisällöstä on ladattavissa laiskasti fasadin avulla"
1477
- },
1478
- "core/audits/third-party-facades.js | title": {
1479
- "message": "Lataa kolmansien osapuolten sisältöä laiskemmin fasadeilla"
1480
- },
1481
- "core/audits/third-party-summary.js | columnThirdParty": {
1482
- "message": "Kolmas osapuoli"
1483
- },
1484
- "core/audits/third-party-summary.js | description": {
1485
- "message": "Kolmannen osapuolen koodi voi vaikuttaa lataustehokkuuteen merkittävästi. Rajoita tarpeettomien kolmannen osapuolen palveluntarjoajien määrää ja yritä ladata kolmannen osapuolen koodi sen jälkeen, kun sivun ensisijainen lataus on valmis. [Katso, miten voit minimoida kolmannen osapuolen vaikutuksen](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
1486
- },
1487
- "core/audits/third-party-summary.js | displayValue": {
1488
- "message": "Kolmannen osapuolen koodi esti pääsäikeen {timeInMs, number, milliseconds} ms:n ajan"
1489
- },
1490
- "core/audits/third-party-summary.js | failureTitle": {
1491
- "message": "Vähennä kolmannen osapuolen koodin vaikutusta"
1492
- },
1493
- "core/audits/third-party-summary.js | title": {
1494
- "message": "Minimoi kolmannen osapuolen käyttö"
1495
- },
1496
1214
  "core/audits/trusted-types-xss.js | columnSeverity": {
1497
1215
  "message": "Vakavuus"
1498
1216
  },
@@ -1526,30 +1244,6 @@
1526
1244
  "core/audits/user-timings.js | title": {
1527
1245
  "message": "User Timing ‑merkinnät ja ‑mitat"
1528
1246
  },
1529
- "core/audits/uses-rel-preconnect.js | crossoriginWarning": {
1530
- "message": "`<link rel=preconnect>` löytyi osoitteelle {securityOrigin}, mutta selain ei käyttänyt sitä. Varmista, että käytät eri lähteiden `crossorigin`-määritettä oikein."
1531
- },
1532
- "core/audits/uses-rel-preconnect.js | description": {
1533
- "message": "Suosittelemme lisäämään sivulle `preconnect`- tai `dns-prefetch` ‑resurssivihjeitä, joiden avulla yhteydet tärkeisiin kolmannen osapuolen alkuperiin voidaan muodostaa ajoissa. [Katso, miten voit muodostaa yhteyden pakollisiin alkuperiin](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/)."
1534
- },
1535
- "core/audits/uses-rel-preconnect.js | title": {
1536
- "message": "Muodosta yhteydet pakollisiin kohteisiin etukäteen"
1537
- },
1538
- "core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
1539
- "message": "`<link rel=preconnect>`-yhteyksiä löytyi enemmän kuin kaksi. Niitä tulee käyttää säästeliäästi ja vain tärkeimpiin alkuperiin."
1540
- },
1541
- "core/audits/uses-rel-preconnect.js | unusedWarning": {
1542
- "message": "`<link rel=preconnect>` löytyi osoitteelle {securityOrigin}, mutta selain ei käyttänyt sitä. Valitse `preconnect` vain tärkeille alkuperille, joita sivu pyytää varmasti."
1543
- },
1544
- "core/audits/uses-rel-preload.js | crossoriginWarning": {
1545
- "message": "Latausta edeltävä `<link>` löytyi osoitteelle {preloadURL}, mutta selain ei käyttänyt sitä. Varmista, että käytät eri lähteiden `crossorigin`-määritettä oikein."
1546
- },
1547
- "core/audits/uses-rel-preload.js | description": {
1548
- "message": "Suosittelemme käyttämään `<link rel=preload>`-tagia, jotta voit priorisoida resursseja, joiden noutamista pyydetään sivun lataamisen myöhemmässä vaiheessa. [Lue lisää tärkeiden pyyntöjen esilataamisesta](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preload/)."
1549
- },
1550
- "core/audits/uses-rel-preload.js | title": {
1551
- "message": "Lataa tärkeät pyynnöt etukäteen"
1552
- },
1553
1247
  "core/audits/valid-source-maps.js | columnMapURL": {
1554
1248
  "message": "Kartan URL"
1555
1249
  },
@@ -1568,42 +1262,6 @@
1568
1262
  "core/audits/valid-source-maps.js | title": {
1569
1263
  "message": "Sivulla on kelvollisia lähdekarttoja"
1570
1264
  },
1571
- "core/audits/viewport.js | description": {
1572
- "message": "`<meta name=\"viewport\">` optimoi sovelluksesi mobiilinäyttöjen kokoja varten ja lisäksi estää [käyttäjän syötteen 300 millisekunnin viiveen](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Lue lisää viewport-metatagin käyttämisestä](https://developer.chrome.com/docs/lighthouse/pwa/viewport/)."
1573
- },
1574
- "core/audits/viewport.js | explanationNoTag": {
1575
- "message": "`<meta name=\"viewport\">`-tagia ei löytynyt"
1576
- },
1577
- "core/audits/viewport.js | failureTitle": {
1578
- "message": "`<meta name=\"viewport\">` ‑tagi, jossa `width` tai `initial-scale`, puuttuu"
1579
- },
1580
- "core/audits/viewport.js | title": {
1581
- "message": "`<meta name=\"viewport\">` ‑tagi, jossa `width` tai `initial-scale`, löytyy"
1582
- },
1583
- "core/audits/work-during-interaction.js | description": {
1584
- "message": "Tämä on säikeiden esto, joka tapahtuu Interaktiosta seuraavaan renderöintiin ‐mittauksen aikana. [Lue lisää Interaktiosta seuraavaan renderöintiin ‐mittarista](https://web.dev/articles/inp)."
1585
- },
1586
- "core/audits/work-during-interaction.js | displayValue": {
1587
- "message": "{timeInMs, number, milliseconds} ms käytetty tapahtumassa \"{interactionType}\""
1588
- },
1589
- "core/audits/work-during-interaction.js | eventTarget": {
1590
- "message": "Tapahtuman kohde"
1591
- },
1592
- "core/audits/work-during-interaction.js | failureTitle": {
1593
- "message": "Minimoi työ tärkeän interaktion aikana"
1594
- },
1595
- "core/audits/work-during-interaction.js | inputDelay": {
1596
- "message": "Syötteen viive"
1597
- },
1598
- "core/audits/work-during-interaction.js | presentationDelay": {
1599
- "message": "Esityksen viive"
1600
- },
1601
- "core/audits/work-during-interaction.js | processingDuration": {
1602
- "message": "Käsittelyn kesto"
1603
- },
1604
- "core/audits/work-during-interaction.js | title": {
1605
- "message": "Minimoi työn tärkeän interaktion aikana"
1606
- },
1607
1265
  "core/config/default-config.js | a11yAriaGroupDescription": {
1608
1266
  "message": "Näillä voit parantaa ARIA:n käyttöä sovelluksessasi, mikä voi tehdä avustusteknologiaa (kuten näytönlukuohjelmaa) käyttävien kokemuksesta paremman."
1609
1267
  },
@@ -3119,7 +2777,7 @@
3119
2777
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
3120
2778
  "message": "WebRTC:tä käyttävät sivut eivät voi käyttää siirtymisvälimuistia."
3121
2779
  },
3122
- "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCSticky": {
2780
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCUsedWithCCNS": {
3123
2781
  "message": "Siirtymisvälimuisti on poistettu käytöstä, koska WebRTC:tä on käytetty."
3124
2782
  },
3125
2783
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
@@ -3128,13 +2786,13 @@
3128
2786
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
3129
2787
  "message": "WebSocketia käyttävät sivut eivät voi käyttää siirtymisvälimuistia."
3130
2788
  },
3131
- "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketSticky": {
2789
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketUsedWithCCNS": {
3132
2790
  "message": "Siirtymisvälimuisti on poistettu käytöstä, koska WebSocketia on käytetty."
3133
2791
  },
3134
2792
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
3135
2793
  "message": "WebTransportia käyttävät sivut eivät voi käyttää siirtymisvälimuistia."
3136
2794
  },
3137
- "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportSticky": {
2795
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportUsedWithCCNS": {
3138
2796
  "message": "Siirtymisvälimuisti on poistettu käytöstä, koska WebTransportia on käytetty."
3139
2797
  },
3140
2798
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
@@ -3228,43 +2886,43 @@
3228
2886
  "message": "Tekstipohjaiset resurssit on hyvä pakata ennen jakelua (gzip, deflate tai brotli), jotta ladattavien tavujen määrä voidaan minimoida. Voit käyttää CDN:ää, joka tukee tätä ominaisuutta, tai määrittää verkkopalvelimen suorittamaan tämän toiminnon. [Lue lisää](https://developers.google.com/web/tools/lighthouse/audits/text-compression)."
3229
2887
  },
3230
2888
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
3231
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Optimize Fonts` käyttöön hyödyntääksesi `font-display` CSS ‑ominaisuutta automaattisesti, jotta voit varmistaa tekstin näkymisen käyttäjille verkkofonttien latautuessa."
2889
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Optimize Fonts` käyttöön hyödyntääksesi `font-display` CSS ‑ominaisuutta automaattisesti, jotta voit varmistaa tekstin näkymisen käyttäjille verkkofonttien latautuessa."
3232
2890
  },
3233
2891
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | modern-image-formats": {
3234
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Next-Gen Formats` käyttöön konvertoidaksesi kuvia WebP-muotoon."
2892
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Next-Gen Formats` käyttöön konvertoidaksesi kuvia WebP-muotoon."
3235
2893
  },
3236
2894
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | offscreen-images": {
3237
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Lazy Load Images` käyttöön lykätäksesi näytön ulkopuolisten kuvien lataamista, kunnes niitä tarvitaan."
2895
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Lazy Load Images` käyttöön lykätäksesi näytön ulkopuolisten kuvien lataamista, kunnes niitä tarvitaan."
3238
2896
  },
3239
2897
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | render-blocking-resources": {
3240
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Critical CSS` ja `Script Delay` käyttöön lykätäksesi ei-kriittiset JS/CSS:t."
2898
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Script Delay` käyttöön lykätäksesi ei-kriittistä JS:ää."
3241
2899
  },
3242
2900
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | server-response-time": {
3243
- "message": "Käytä [Ezoic Cloud Cachingia](https://pubdash.ezoic.com/speed/caching) sisältösi tallentamiseen välimuistiin maailmanlaajuisessa verkossamme, mikä lyhentää aikaa linkin valinnan ja sisällön ensimmäisen tavun latauksen välillä"
2901
+ "message": "Käytä [Ezoic Cloud Cachingia](https://pubdash.ezoic.com/leap/caching) sisältösi tallentamiseen välimuistiin maailmanlaajuisessa verkossamme, mikä lyhentää aikaa linkin valinnan ja sisällön ensimmäisen tavun latauksen välillä"
3244
2902
  },
3245
2903
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-css": {
3246
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Minify CSS` käyttöön pienentääksesi CSS:ää automaattisesti, jotta voit vähentää verkkoresurssien kokoja."
2904
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Minify CSS` käyttöön pienentääksesi CSS:ää automaattisesti, jotta voit vähentää verkkoresurssien kokoja."
3247
2905
  },
3248
2906
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-javascript": {
3249
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Minify Javascript` käyttöön pienentääksesi JS:ää automaattisesti, jotta voit vähentää verkkoresurssien kokoja."
2907
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Minify Javascript` käyttöön pienentääksesi JS:ää automaattisesti, jotta voit vähentää verkkoresurssien kokoja."
3250
2908
  },
3251
2909
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unused-css-rules": {
3252
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Remove Unused CSS` käyttöön saadaksesi apua ongelmaan. Se tunnistaa jokaisen sivustosi sivun käyttämät CSS-luokat ja poistaa kaikki muut, jotta tiedoston koko pysyy pienenä."
2910
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Remove Unused CSS` käyttöön saadaksesi apua ongelmaan. Se tunnistaa jokaisen sivustosi sivun käyttämät CSS-luokat ja poistaa kaikki muut, jotta tiedoston koko pysyy pienenä."
3253
2911
  },
3254
2912
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-long-cache-ttl": {
3255
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Efficient Static Cache Policy` käyttöön asettaaksesi suositellut arvot välimuistin otsikossa pysyville sisällöille."
2913
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Efficient Static Cache Policy` käyttöön asettaaksesi suositellut arvot välimuistin otsikossa pysyville sisällöille."
3256
2914
  },
3257
2915
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-optimized-images": {
3258
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Next-Gen Formats` käyttöön konvertoidaksesi kuvia WebP-muotoon."
2916
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Next-Gen Formats` käyttöön konvertoidaksesi kuvia WebP-muotoon."
3259
2917
  },
3260
2918
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preconnect": {
3261
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Pre-Connect Origins` käyttöön lisätäksesi automaattisesti `preconnect`-materiaalivihjeitä, jotta voit muodostaa aikaisia yhteyksiä tärkeisiin kolmannen osapuolen alkuperiin."
2919
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Pre-Connect Origins` käyttöön lisätäksesi automaattisesti `preconnect`-materiaalivihjeitä, jotta voit muodostaa aikaisia yhteyksiä tärkeisiin kolmannen osapuolen alkuperiin."
3262
2920
  },
3263
2921
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preload": {
3264
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Preload Fonts` ja `Preload Background Images` käyttöön lisätäksesi`preload`‑linkit, jotta voit priorisoida nykyisten pyydettyjen resurssien hakemista myöhemmin sivun latauksessa."
2922
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Preload Fonts` ja `Preload Background Images` käyttöön lisätäksesi`preload`‑linkit, jotta voit priorisoida nykyisten pyydettyjen resurssien hakemista myöhemmin sivun latauksessa."
3265
2923
  },
3266
2924
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-responsive-images": {
3267
- "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/speed) ja ota `Resize Images` käyttöön muuttaaksesi kuvien kokoa laitteisiin sopivaksi, jotta voit vähentää verkkoresurssien kokoja."
2925
+ "message": "Käytä [Ezoic Leapia](https://pubdash.ezoic.com/leap) ja ota `Resize Images` käyttöön muuttaaksesi kuvien kokoa laitteisiin sopivaksi, jotta voit vähentää verkkoresurssien kokoja."
3268
2926
  },
3269
2927
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | modern-image-formats": {
3270
2928
  "message": "Optimoi kuvamuoto automaattisesti käyttämällä `gatsby-plugin-image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
@@ -3372,16 +3030,16 @@
3372
3030
  "message": "`<link rel=preload>`-tagit voidaan lisätä [muuttamalla teeman asettelua](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
3373
3031
  },
3374
3032
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
3375
- "message": "Optimoi kuvamuoto automaattisesti käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/basic-features/image-optimization)."
3033
+ "message": "Optimoi kuvamuoto automaattisesti käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/app/getting-started/images)."
3376
3034
  },
3377
3035
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
3378
- "message": "Lataa kuvat automaattisesti laiskasti käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/basic-features/image-optimization)."
3036
+ "message": "Lataa kuvat automaattisesti laiskasti käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/app/getting-started/images)."
3379
3037
  },
3380
3038
  "node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
3381
3039
  "message": "Käytä `next/image`-komponenttia ja aseta prioriteetti todeksi, jotta voit esiladata LCP-kuvan. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#priority)."
3382
3040
  },
3383
3041
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
3384
- "message": "Lykkää ei-kriittisten kolmannen osapuolen skriptien lataamista suorittamalla `next/script`. [Lue lisää](https://nextjs.org/docs/basic-features/script)."
3042
+ "message": "Lykkää ei-kriittisten kolmannen osapuolen skriptien lataamista suorittamalla `next/script`. [Lue lisää](https://nextjs.org/docs/app/guides/scripts)."
3385
3043
  },
3386
3044
  "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
3387
3045
  "message": "Käytä `next/image`-komponenttia ja varmista, että kuvat ovat aina oikean kokoisia. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#width)."
@@ -3393,13 +3051,13 @@
3393
3051
  "message": "Valitse `Webpack Bundle Analyzer`, jotta voit havaita käyttämättömän JavaScript-ohjelmakoodin. [Lue lisää](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)"
3394
3052
  },
3395
3053
  "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
3396
- "message": "Sinun kannattaa ehkä valita `Next.js Analytics`, jotta voit mitata sovelluksen todellista toimivuutta. [Lue lisää](https://nextjs.org/docs/advanced-features/measuring-performance)."
3054
+ "message": "Sinun kannattaa ehkä valita `Next.js Analytics`, jotta voit mitata sovelluksen todellista toimivuutta. [Lue lisää](https://nextjs.org/docs/pages/guides/analytics)."
3397
3055
  },
3398
3056
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-long-cache-ttl": {
3399
- "message": "Määritä muuttumattomien kohteiden ja `Server-side Rendered` (SSR) ‑sivujen välimuistiin siirtäminen. [Lue lisää](https://nextjs.org/docs/going-to-production#caching)."
3057
+ "message": "Määritä muuttumattomien kohteiden ja `Server-side Rendered` (SSR) ‑sivujen välimuistiin siirtäminen. [Lue lisää](https://nextjs.org/docs/13/pages/building-your-application/deploying/production-checklist#caching)."
3400
3058
  },
3401
3059
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
3402
- "message": "Säädä kuvanlaatua käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/basic-features/image-optimization)."
3060
+ "message": "Säädä kuvanlaatua käyttämällä `next/image`-komponenttia `<img>`-komponentin sijaan. [Lue lisää](https://nextjs.org/docs/app/getting-started/images)."
3403
3061
  },
3404
3062
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
3405
3063
  "message": "Suorita `next/image`, jotta `sizes` voi saada sopivan arvon. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#sizes)."
@@ -3443,9 +3101,6 @@
3443
3101
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
3444
3102
  "message": "Ota [`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site) käyttöön, jotta voit optimoida kuvat ennakoivasti niin, että ne vastaavat mittoja niissä säiliöissä, joissa ne näkyvät kaikilla laitteilla."
3445
3103
  },
3446
- "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-text-compression": {
3447
- "message": "Voit pienentää selaimeen lähetettyjen tiedostojen kokoa [`Gzip compression`](https://support.nitropack.io/hc/en-us/articles/13229297479313-Enabling-GZIP-compression) ‑ominaisuudella NitroPackissa."
3448
- },
3449
3104
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
3450
3105
  "message": "Käytä `nuxt/image`-komponenttia ja määritä `format=\"webp\"`. [Lue lisää](https://image.nuxt.com/usage/nuxt-img#format)."
3451
3106
  },
@@ -3522,7 +3177,7 @@
3522
3177
  "message": "Jos versiojärjestelmäsi kutistaa JS-tiedostoja automaattisesti, varmista että käyttöönotto koskee sovelluksen tuotantoversiota. Voit tarkistaa tämän Reactin kehittäjätyökalut ‑laajennuksella. [Lue lisää](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
3523
3178
  },
3524
3179
  "node_modules/lighthouse-stack-packs/packs/react.js | unused-javascript": {
3525
- "message": "Jos et vielä renderöi palvelinpuolella, [jaa JavaScript-niput osiin](https://web.dev/code-splitting-suspense/) – `React.lazy()` voi auttaa. Jaa muussa tapauksessa koodi osiin kolmannen osapuolen kirjastolla, esimerkiksi [loadable-components](https://www.smooth-code.com/open-source/loadable-components/docs/getting-started/)."
3180
+ "message": "Jos et vielä renderöi palvelinpuolella, [jaa JavaScript-niput osiin](https://web.dev/code-splitting-suspense/) – `React.lazy()` voi auttaa. Jaa muussa tapauksessa koodi osiin kolmannen osapuolen kirjastolla, esimerkiksi [loadable-components](https://loadable-components.com/)."
3526
3181
  },
3527
3182
  "node_modules/lighthouse-stack-packs/packs/react.js | user-timings": {
3528
3183
  "message": "Käytä React DevTools Profileria, joka käyttää React-sovellusliittymää, komponenttien renderöinnin mittaamiseen. [Lue lisää.](https://reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)"
@@ -3668,15 +3323,9 @@
3668
3323
  "report/renderer/report-utils.js | footerIssue": {
3669
3324
  "message": "Ilmoita ongelmasta"
3670
3325
  },
3671
- "report/renderer/report-utils.js | goBackToAudits": {
3672
- "message": "Palaa tarkastuksiin"
3673
- },
3674
3326
  "report/renderer/report-utils.js | hide": {
3675
3327
  "message": "Piilota"
3676
3328
  },
3677
- "report/renderer/report-utils.js | insightsNotice": {
3678
- "message": "Myöhemmin tänä vuonna vinkit korvaavat tulostarkastukset. [Lue lisää ja anna palautetta täällä](https://github.com/GoogleChrome/lighthouse/discussions/16462)."
3679
- },
3680
3329
  "report/renderer/report-utils.js | labDataTitle": {
3681
3330
  "message": "Laboratoriodata"
3682
3331
  },
@@ -3776,12 +3425,15 @@
3776
3425
  "report/renderer/report-utils.js | toplevelWarningsMessage": {
3777
3426
  "message": "Lighthousen suorituksessa havaittiin ongelmia:"
3778
3427
  },
3779
- "report/renderer/report-utils.js | tryInsights": {
3780
- "message": "Kokeile vinkkejä"
3781
- },
3782
3428
  "report/renderer/report-utils.js | unattributable": {
3783
3429
  "message": "Ei määritettävissä"
3784
3430
  },
3431
+ "report/renderer/report-utils.js | unscoredLabel": {
3432
+ "message": "Ei laskettu mukaan"
3433
+ },
3434
+ "report/renderer/report-utils.js | unscoredTitle": {
3435
+ "message": "Tämä tarkastus ei vaikuta kategorian kokonaispisteisiin."
3436
+ },
3785
3437
  "report/renderer/report-utils.js | varianceDisclaimer": {
3786
3438
  "message": "Arvot ovat arvioita ja voivat vaihdella. [Tehokkuusprosentti lasketaan](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) suoraan näistä mittareista."
3787
3439
  },