lighthouse 11.0.0 → 11.1.0
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.
- package/cli/bin.js +1 -1
- package/cli/cli-flags.js +1 -1
- package/cli/test/smokehouse/core-tests.js +3 -1
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +1 -1
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +1 -1
- package/cli/test/smokehouse/lighthouse-runners/cli.js +1 -1
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +1 -1
- package/core/audits/accessibility/accesskeys.js +1 -1
- package/core/audits/accessibility/aria-allowed-attr.js +1 -1
- package/core/audits/accessibility/aria-allowed-role.js +1 -1
- package/core/audits/accessibility/aria-command-name.js +1 -1
- package/core/audits/accessibility/aria-dialog-name.js +1 -1
- package/core/audits/accessibility/aria-hidden-body.js +1 -1
- package/core/audits/accessibility/aria-hidden-focus.js +1 -1
- package/core/audits/accessibility/aria-input-field-name.js +1 -1
- package/core/audits/accessibility/aria-meter-name.js +1 -1
- package/core/audits/accessibility/aria-progressbar-name.js +1 -1
- package/core/audits/accessibility/aria-required-attr.js +1 -1
- package/core/audits/accessibility/aria-required-children.js +1 -1
- package/core/audits/accessibility/aria-required-parent.js +1 -1
- package/core/audits/accessibility/aria-roles.js +1 -1
- package/core/audits/accessibility/aria-text.js +1 -1
- package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
- package/core/audits/accessibility/aria-tooltip-name.js +1 -1
- package/core/audits/accessibility/aria-treeitem-name.js +1 -1
- package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
- package/core/audits/accessibility/aria-valid-attr.js +1 -1
- package/core/audits/accessibility/button-name.js +1 -1
- package/core/audits/accessibility/bypass.js +1 -1
- package/core/audits/accessibility/color-contrast.js +1 -1
- package/core/audits/accessibility/definition-list.js +1 -1
- package/core/audits/accessibility/dlitem.js +1 -1
- package/core/audits/accessibility/document-title.js +1 -1
- package/core/audits/accessibility/duplicate-id-active.js +1 -1
- package/core/audits/accessibility/duplicate-id-aria.js +2 -1
- package/core/audits/accessibility/empty-heading.js +1 -1
- package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
- package/core/audits/accessibility/frame-title.js +1 -1
- package/core/audits/accessibility/heading-order.js +1 -1
- package/core/audits/accessibility/html-has-lang.js +1 -1
- package/core/audits/accessibility/html-lang-valid.js +1 -1
- package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
- package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
- package/core/audits/accessibility/image-alt.js +1 -1
- package/core/audits/accessibility/image-redundant-alt.js +1 -1
- package/core/audits/accessibility/input-button-name.js +1 -1
- package/core/audits/accessibility/input-image-alt.js +1 -1
- package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
- package/core/audits/accessibility/label.js +1 -1
- package/core/audits/accessibility/landmark-one-main.js +1 -1
- package/core/audits/accessibility/link-in-text-block.js +1 -1
- package/core/audits/accessibility/link-name.js +1 -1
- package/core/audits/accessibility/list.js +1 -1
- package/core/audits/accessibility/listitem.js +1 -1
- package/core/audits/accessibility/meta-refresh.js +1 -1
- package/core/audits/accessibility/meta-viewport.js +1 -1
- package/core/audits/accessibility/object-alt.js +1 -1
- package/core/audits/accessibility/select-name.js +1 -1
- package/core/audits/accessibility/skip-link.js +1 -1
- package/core/audits/accessibility/tabindex.js +1 -1
- package/core/audits/accessibility/table-duplicate-name.js +1 -1
- package/core/audits/accessibility/table-fake-caption.js +1 -1
- package/core/audits/accessibility/target-size.js +1 -1
- package/core/audits/accessibility/td-has-header.js +1 -1
- package/core/audits/accessibility/td-headers-attr.js +1 -1
- package/core/audits/accessibility/th-has-data-cells.js +1 -1
- package/core/audits/accessibility/valid-lang.js +1 -1
- package/core/audits/accessibility/video-caption.js +1 -1
- package/core/audits/bf-cache.js +1 -0
- package/core/audits/bootup-time.d.ts +6 -0
- package/core/audits/bootup-time.js +37 -1
- package/core/audits/byte-efficiency/duplicated-javascript.js +1 -0
- package/core/audits/byte-efficiency/efficient-animated-content.js +1 -0
- package/core/audits/byte-efficiency/legacy-javascript.js +2 -1
- package/core/audits/byte-efficiency/modern-image-formats.js +1 -0
- package/core/audits/byte-efficiency/offscreen-images.js +1 -0
- package/core/audits/byte-efficiency/render-blocking-resources.js +1 -0
- package/core/audits/byte-efficiency/total-byte-weight.js +1 -0
- package/core/audits/byte-efficiency/unminified-css.js +1 -0
- package/core/audits/byte-efficiency/unminified-javascript.js +1 -0
- package/core/audits/byte-efficiency/unused-css-rules.js +1 -0
- package/core/audits/byte-efficiency/unused-javascript.js +1 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -0
- package/core/audits/byte-efficiency/uses-optimized-images.js +1 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +1 -0
- package/core/audits/byte-efficiency/uses-responsive-images.js +1 -0
- package/core/audits/byte-efficiency/uses-text-compression.js +1 -0
- package/core/audits/critical-request-chains.js +1 -0
- package/core/audits/dobetterweb/dom-size.d.ts +8 -2
- package/core/audits/dobetterweb/dom-size.js +51 -3
- package/core/audits/dobetterweb/no-document-write.js +1 -0
- package/core/audits/dobetterweb/uses-http2.js +1 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +1 -0
- package/core/audits/font-display.js +1 -0
- package/core/audits/image-aspect-ratio.js +10 -1
- package/core/audits/installable-manifest.d.ts +0 -6
- package/core/audits/installable-manifest.js +1 -17
- package/core/audits/largest-contentful-paint-element.js +22 -4
- package/core/audits/layout-shift-elements.js +1 -0
- package/core/audits/lcp-lazy-loaded.d.ts +3 -2
- package/core/audits/lcp-lazy-loaded.js +35 -5
- package/core/audits/long-tasks.js +1 -0
- package/core/audits/mainthread-work-breakdown.js +1 -0
- package/core/audits/non-composited-animations.js +1 -0
- package/core/audits/prioritize-lcp-image.js +1 -0
- package/core/audits/redirects.js +2 -4
- package/core/audits/seo/crawlable-anchors.js +2 -1
- package/core/audits/server-response-time.js +1 -0
- package/core/audits/third-party-facades.js +14 -5
- package/core/audits/third-party-summary.d.ts +4 -2
- package/core/audits/third-party-summary.js +25 -11
- package/core/audits/unsized-images.js +1 -0
- package/core/audits/user-timings.js +1 -0
- package/core/audits/uses-rel-preconnect.js +1 -0
- package/core/audits/uses-rel-preload.js +1 -0
- package/core/audits/viewport.js +1 -0
- package/core/audits/work-during-interaction.js +1 -0
- package/core/computed/main-resource.d.ts +1 -1
- package/core/computed/main-resource.js +10 -4
- package/core/computed/page-dependency-graph.js +2 -1
- package/core/computed/tbt-impact-tasks.d.ts +8 -13
- package/core/computed/tbt-impact-tasks.js +4 -6
- package/core/computed/viewport-meta.js +11 -1
- package/core/config/config-helpers.js +1 -1
- package/core/config/config.js +1 -1
- package/core/gather/gatherers/accessibility.js +5 -0
- package/core/gather/timespan-runner.d.ts +3 -0
- package/core/gather/timespan-runner.js +23 -0
- package/core/index.cjs +13 -13
- package/core/index.d.cts +15 -2
- package/core/lib/asset-saver.d.ts +0 -3
- package/core/lib/asset-saver.js +68 -42
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +7 -1
- package/core/lib/dependency-graph/simulator/network-analyzer.js +17 -1
- package/core/lib/emulation.js +1 -1
- package/core/lib/i18n/i18n.js +2 -2
- package/core/runner.js +5 -4
- package/dist/report/bundle.esm.js +3 -1
- package/dist/report/flow.js +3 -1
- package/dist/report/standalone.js +3 -1
- package/flow-report/tsconfig.json +0 -2
- package/package.json +8 -7
- package/readme.md +4 -1
- package/report/assets/templates.html +2 -0
- package/report/generator/flow-report-assets.js +1 -1
- package/report/generator/report-assets.js +1 -1
- package/report/generator/tsconfig.json +1 -1
- package/report/renderer/components.js +1 -1
- package/report/renderer/i18n-formatter.js +1 -1
- package/shared/localization/format.js +1 -1
- package/shared/localization/locales/ar-XB.json +36 -39
- package/shared/localization/locales/ar.json +36 -39
- package/shared/localization/locales/bg.json +36 -39
- package/shared/localization/locales/ca.json +36 -39
- package/shared/localization/locales/cs.json +36 -39
- package/shared/localization/locales/da.json +36 -39
- package/shared/localization/locales/de.json +36 -39
- package/shared/localization/locales/el.json +36 -39
- package/shared/localization/locales/en-GB.json +7 -10
- package/shared/localization/locales/en-US.json +64 -64
- package/shared/localization/locales/en-XA.json +36 -39
- package/shared/localization/locales/en-XL.json +64 -64
- package/shared/localization/locales/es-419.json +36 -39
- package/shared/localization/locales/es.json +36 -39
- package/shared/localization/locales/fi.json +36 -39
- package/shared/localization/locales/fil.json +36 -39
- package/shared/localization/locales/fr.json +36 -39
- package/shared/localization/locales/he.json +36 -39
- package/shared/localization/locales/hi.json +36 -39
- package/shared/localization/locales/hr.json +36 -39
- package/shared/localization/locales/hu.json +36 -39
- package/shared/localization/locales/id.json +36 -39
- package/shared/localization/locales/it.json +36 -39
- package/shared/localization/locales/ja.json +36 -39
- package/shared/localization/locales/ko.json +36 -39
- package/shared/localization/locales/lt.json +36 -39
- package/shared/localization/locales/lv.json +36 -39
- package/shared/localization/locales/nl.json +36 -39
- package/shared/localization/locales/no.json +36 -39
- package/shared/localization/locales/pl.json +36 -39
- package/shared/localization/locales/pt-PT.json +36 -39
- package/shared/localization/locales/pt.json +36 -39
- package/shared/localization/locales/ro.json +36 -39
- package/shared/localization/locales/ru.json +36 -39
- package/shared/localization/locales/sk.json +36 -39
- package/shared/localization/locales/sl.json +36 -39
- package/shared/localization/locales/sr-Latn.json +36 -39
- package/shared/localization/locales/sr.json +36 -39
- package/shared/localization/locales/sv.json +36 -39
- package/shared/localization/locales/ta.json +36 -39
- package/shared/localization/locales/te.json +36 -39
- package/shared/localization/locales/th.json +36 -39
- package/shared/localization/locales/tr.json +36 -39
- package/shared/localization/locales/uk.json +36 -39
- package/shared/localization/locales/vi.json +36 -39
- package/shared/localization/locales/zh-HK.json +36 -39
- package/shared/localization/locales/zh-TW.json +36 -39
- package/shared/localization/locales/zh.json +36 -39
- package/shared/localization/locales.js +1 -1
- package/{root.js → shared/root.js} +2 -1
- package/shared/tsconfig.json +0 -1
- package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +1 -1
- package/third-party/chromium-synchronization/installability-errors-test.js +0 -1
- package/third-party/download-content-shell/download-content-shell.js +1 -1
- package/tsconfig.json +0 -2
- package/types/artifacts.d.ts +2 -1
- package/types/audit.d.ts +2 -0
- /package/{esm-utils.d.ts → shared/esm-utils.d.ts} +0 -0
- /package/{esm-utils.js → shared/esm-utils.js} +0 -0
- /package/{root.d.ts → shared/root.d.ts} +0 -0
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"message": "`[aria-*]` 屬性與其角色相符"
|
|
19
19
|
},
|
|
20
20
|
"core/audits/accessibility/aria-allowed-role.js | description": {
|
|
21
|
-
"message": "ARIA `role
|
|
21
|
+
"message": "「ARIA `role`」可協助輔助技術瞭解網頁中每個元素的角色。如果「`role`」值有錯字、不是現有的「ARIA `role`」值,或者是抽象角色,系統就不會將元素的目的傳達給輔助技術的使用者。[進一步瞭解 ARIA 角色](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-roles)。"
|
|
22
22
|
},
|
|
23
23
|
"core/audits/accessibility/aria-allowed-role.js | failureTitle": {
|
|
24
|
-
"message": "
|
|
24
|
+
"message": "指派給 `role=\"\"` 的值不是有效的 ARIA 角色。"
|
|
25
25
|
},
|
|
26
26
|
"core/audits/accessibility/aria-allowed-role.js | title": {
|
|
27
|
-
"message": "
|
|
27
|
+
"message": "指派給 `role=\"\"` 的值是有效的 ARIA 角色。"
|
|
28
28
|
},
|
|
29
29
|
"core/audits/accessibility/aria-command-name.js | description": {
|
|
30
30
|
"message": "如果元素沒有無障礙元素名稱,螢幕閱讀器只會讀出通用名稱,這樣仰賴螢幕閱讀器的使用者就無法知道這個元素的用途。[瞭解如何讓指令元素更容易使用](https://dequeuniversity.com/rules/axe/4.7/aria-command-name)。"
|
|
@@ -336,13 +336,13 @@
|
|
|
336
336
|
"message": "圖片元素具有 `[alt]` 屬性"
|
|
337
337
|
},
|
|
338
338
|
"core/audits/accessibility/image-redundant-alt.js | description": {
|
|
339
|
-
"message": "
|
|
339
|
+
"message": "說明元素應提供簡短貼切的替代文字。替代文字如果與連結或圖片旁的文字完全相同,可能會對螢幕閱讀器使用者造成困擾,因為系統會朗讀同樣的文字兩次。[進一步瞭解 `alt` 屬性](https://dequeuniversity.com/rules/axe/4.7/image-redundant-alt)。"
|
|
340
340
|
},
|
|
341
341
|
"core/audits/accessibility/image-redundant-alt.js | failureTitle": {
|
|
342
|
-
"message": "
|
|
342
|
+
"message": "圖片元素所含「`[alt]`」屬性有多餘的文字。"
|
|
343
343
|
},
|
|
344
344
|
"core/audits/accessibility/image-redundant-alt.js | title": {
|
|
345
|
-
"message": "
|
|
345
|
+
"message": "圖片元素所含「`[alt]`」屬性沒有多餘的文字。"
|
|
346
346
|
},
|
|
347
347
|
"core/audits/accessibility/input-button-name.js | description": {
|
|
348
348
|
"message": "你可以為輸入按鈕加上容易識讀的說明文字,協助螢幕閱讀器使用者瞭解輸入按鈕的用途。[進一步瞭解輸入按鈕](https://dequeuniversity.com/rules/axe/4.7/input-button-name)。"
|
|
@@ -363,13 +363,13 @@
|
|
|
363
363
|
"message": "`<input type=\"image\">` 元素具有 `[alt]` 文字"
|
|
364
364
|
},
|
|
365
365
|
"core/audits/accessibility/label-content-name-mismatch.js | description": {
|
|
366
|
-
"message": "
|
|
366
|
+
"message": "如果顯示的文字標籤與無障礙元素名稱不符,可能對螢幕閱讀器使用者造成困惑。[進一步瞭解無障礙元素名稱](https://dequeuniversity.com/rules/axe/4.7/label-content-name-mismatch)。"
|
|
367
367
|
},
|
|
368
368
|
"core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
|
|
369
|
-
"message": "
|
|
369
|
+
"message": "含有可見文字標籤的元素沒有相符的無障礙元素名稱。"
|
|
370
370
|
},
|
|
371
371
|
"core/audits/accessibility/label-content-name-mismatch.js | title": {
|
|
372
|
-
"message": "
|
|
372
|
+
"message": "含有可見文字標籤的元素有相符的無障礙元素名稱。"
|
|
373
373
|
},
|
|
374
374
|
"core/audits/accessibility/label.js | description": {
|
|
375
375
|
"message": "標籤可確保輔助技術 (例如螢幕閱讀器) 正確朗讀表單控制項。[進一步瞭解表單元素標籤](https://dequeuniversity.com/rules/axe/4.7/label)。"
|
|
@@ -462,13 +462,13 @@
|
|
|
462
462
|
"message": "Select 元素具有相關聯的 label 元素。"
|
|
463
463
|
},
|
|
464
464
|
"core/audits/accessibility/skip-link.js | description": {
|
|
465
|
-
"message": "
|
|
465
|
+
"message": "加入跳轉連結可協助使用者直接前往主要內容,以節省時間。[進一步瞭解跳轉連結](https://dequeuniversity.com/rules/axe/4.7/skip-link)。"
|
|
466
466
|
},
|
|
467
467
|
"core/audits/accessibility/skip-link.js | failureTitle": {
|
|
468
|
-
"message": "
|
|
468
|
+
"message": "跳轉連結無法聚焦。"
|
|
469
469
|
},
|
|
470
470
|
"core/audits/accessibility/skip-link.js | title": {
|
|
471
|
-
"message": "
|
|
471
|
+
"message": "跳轉連結可聚焦。"
|
|
472
472
|
},
|
|
473
473
|
"core/audits/accessibility/tabindex.js | description": {
|
|
474
474
|
"message": "如果值大於 0,表示採用的是明確的瀏覽排序。雖然這在技術上可行,但經常會對仰賴輔助技術的使用者造成困擾。[進一步瞭解 `tabindex` 屬性](https://dequeuniversity.com/rules/axe/4.7/tabindex)。"
|
|
@@ -480,13 +480,13 @@
|
|
|
480
480
|
"message": "所有元素的 `[tabindex]` 值皆未超過 0"
|
|
481
481
|
},
|
|
482
482
|
"core/audits/accessibility/table-duplicate-name.js | description": {
|
|
483
|
-
"message": "
|
|
483
|
+
"message": "摘要屬性應說明表格結構,而「`<caption>`」應含有顯示在螢幕上的標題。提供準確的表格標記,對螢幕閱讀器使用者有幫助。[進一步瞭解摘要和說明文字](https://dequeuniversity.com/rules/axe/4.7/table-duplicate-name)。"
|
|
484
484
|
},
|
|
485
485
|
"core/audits/accessibility/table-duplicate-name.js | failureTitle": {
|
|
486
|
-
"message": "
|
|
486
|
+
"message": "表格內容與摘要屬性和「`<caption>.`」相同"
|
|
487
487
|
},
|
|
488
488
|
"core/audits/accessibility/table-duplicate-name.js | title": {
|
|
489
|
-
"message": "
|
|
489
|
+
"message": "表格內容與摘要屬性和「`<caption>`」不同"
|
|
490
490
|
},
|
|
491
491
|
"core/audits/accessibility/table-fake-caption.js | description": {
|
|
492
492
|
"message": "使用者可運用螢幕閱讀器的功能輕鬆瀏覽表格。如果表格使用實際的標題元素,而非含有 `[colspan]` 屬性的儲存格,或許可以提升螢幕閱讀器的使用體驗。[進一步瞭解標題](https://dequeuniversity.com/rules/axe/4.7/table-fake-caption)。"
|
|
@@ -498,7 +498,7 @@
|
|
|
498
498
|
"message": "表格使用 `<caption>` 屬性表示標題,而非使用含有 `[colspan]` 屬性的儲存格。"
|
|
499
499
|
},
|
|
500
500
|
"core/audits/accessibility/target-size.js | description": {
|
|
501
|
-
"message": "
|
|
501
|
+
"message": "只要觸控目標提供足夠的大小和間距,就能協助難以點按小型控制項的使用者啟動目標。[進一步瞭解觸控目標](https://dequeuniversity.com/rules/axe/4.7/target-size)。"
|
|
502
502
|
},
|
|
503
503
|
"core/audits/accessibility/target-size.js | failureTitle": {
|
|
504
504
|
"message": "觸控目標的大小或間距不足。"
|
|
@@ -1083,10 +1083,7 @@
|
|
|
1083
1083
|
"message": "prefer_related_applications 僅適用於 Android 上的 Chrome Beta 版和穩定版。"
|
|
1084
1084
|
},
|
|
1085
1085
|
"core/audits/installable-manifest.js | protocol-timeout": {
|
|
1086
|
-
"message": "Lighthouse
|
|
1087
|
-
},
|
|
1088
|
-
"core/audits/installable-manifest.js | scheme-not-supported-for-webapk": {
|
|
1089
|
-
"message": "Android 不支援資訊清單網址架構 ({scheme})。"
|
|
1086
|
+
"message": "Lighthouse 無法判斷該網頁是否可安裝。請嘗試使用較新的 Chrome 版本。"
|
|
1090
1087
|
},
|
|
1091
1088
|
"core/audits/installable-manifest.js | start-url-not-valid": {
|
|
1092
1089
|
"message": "資訊清單開始網址無效"
|
|
@@ -1707,7 +1704,7 @@
|
|
|
1707
1704
|
"message": "最佳做法"
|
|
1708
1705
|
},
|
|
1709
1706
|
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1710
|
-
"message": "
|
|
1707
|
+
"message": "這些檢查可找出[網頁應用程式無障礙設計值得改善之處](https://developer.chrome.com/docs/lighthouse/accessibility/)。自動偵測功能只能偵測出部分問題,而且無法保證網頁應用程式的無障礙程度,因此建議一併使用[手動測試](https://web.dev/how-to-review/)。"
|
|
1711
1708
|
},
|
|
1712
1709
|
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1713
1710
|
"message": "這些稽核項目會檢查自動化測試工具未涵蓋的區域。詳情請參閱[無障礙功能審查的執行指南](https://web.dev/how-to-review/)。"
|
|
@@ -2853,7 +2850,7 @@
|
|
|
2853
2850
|
"message": "安裝可以延遲載入圖片的 [Drupal 模組](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search)。這類模組可延遲載入所有畫面外的圖片,進而提升效能。"
|
|
2854
2851
|
},
|
|
2855
2852
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
|
|
2856
|
-
"message": "
|
|
2853
|
+
"message": "建議你使用模組來內嵌重要的 CSS 和 JavaScript,並針對重要性較低的 CSS 或 JavaScript 使用延遲屬性。"
|
|
2857
2854
|
},
|
|
2858
2855
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
|
|
2859
2856
|
"message": "主題、模組和伺服器規格都會影響伺服器回應時間。建議你尋找經過最佳化調整的主題、謹慎選擇最佳化模組,並 (或) 升級伺服器。你的代管伺服器應使用 PHP opcode 快取、記憶體快取來降低資料庫查詢時間 (例如 Redis 或 Memcached),並且使用經過最佳化的應用程式邏輯提升頁面載入的速度。"
|
|
@@ -2862,10 +2859,10 @@
|
|
|
2862
2859
|
"message": "建議你使用[回應式圖片樣式](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8)來縮減頁面上載入圖片的大小。如果你使用 Views 在頁面上顯示多個內容項目,建議你透過分頁來限制特定頁面上顯示的內容項目數量。"
|
|
2863
2860
|
},
|
|
2864
2861
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
|
|
2865
|
-
"message": "
|
|
2862
|
+
"message": "確認你已啟用「Administration」»「Configuration」»「Development」頁面上的「Aggregate CSS files」。為改善素材資源匯總支援情形,請確認你的 Drupal 網站執行版本至少為 Drupal 10.1。"
|
|
2866
2863
|
},
|
|
2867
2864
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
|
|
2868
|
-
"message": "
|
|
2865
|
+
"message": "確認你已啟用「Administration」»「Configuration」»「Development」頁面上的「Aggregate JavaScript files」。為改善素材資源匯總支援情形,請確認你的 Drupal 網站執行版本至少為 Drupal 10.1。"
|
|
2869
2866
|
},
|
|
2870
2867
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
|
|
2871
2868
|
"message": "建議你移除未使用的 CSS 規則,並僅將必要的 Drupal 程式庫附加至相關頁面或頁面上的元件。詳情請參閱 [Drupal 說明文件連結](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library)。如要找出會新增多餘 CSS 的附加程式庫,請嘗試在 Chrome DevTools 中執行[程式碼涵蓋率](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage)功能。你可以在 Drupal 網站上停用 CSS 匯總時,透過樣式表網址找出有問題的主題/模組。請留意在清單中包含許多樣式表,且程式碼涵蓋率中有許多紅色標示的主題/模組。主題/模組只應將網頁實際使用的樣式表加入佇列。"
|
|
@@ -3066,46 +3063,46 @@
|
|
|
3066
3063
|
"message": "請為您的 Next.js 伺服器啟用壓縮功能。[瞭解詳情](https://nextjs.org/docs/api-reference/next.config.js/compression)。"
|
|
3067
3064
|
},
|
|
3068
3065
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | dom-size": {
|
|
3069
|
-
"message": "
|
|
3066
|
+
"message": "如要啟用「[`HTML Lazy Load`](https://support.nitropack.io/hc/en-us/articles/17144942904337)」,請與您的客戶經理聯絡。設定這項功能後,系統會將網頁轉譯效能視為優先事項,並進行最佳化。"
|
|
3070
3067
|
},
|
|
3071
3068
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | font-display": {
|
|
3072
|
-
"message": "
|
|
3069
|
+
"message": "在 NitroPack 中使用「[`Override Font Rendering Behavior`](https://support.nitropack.io/hc/en-us/articles/16547358865041)」選項,即可為 CSS 字型顯示規則設定所需的值。"
|
|
3073
3070
|
},
|
|
3074
3071
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | modern-image-formats": {
|
|
3075
|
-
"message": "
|
|
3072
|
+
"message": "使用「[`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/16547237162513)」可自動將圖片轉換為 WebP。"
|
|
3076
3073
|
},
|
|
3077
3074
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | offscreen-images": {
|
|
3078
|
-
"message": "
|
|
3075
|
+
"message": "啟用「[`Automatic Image Lazy Loading`](https://support.nitropack.io/hc/en-us/articles/12457493524369-NitroPack-Lazy-Loading-Feature-for-Images)」,可延遲載入畫面外圖片。"
|
|
3079
3076
|
},
|
|
3080
3077
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
|
|
3081
|
-
"message": "
|
|
3078
|
+
"message": "在 NitroPack 中啟用「[`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack)」,加快初始載入時間。"
|
|
3082
3079
|
},
|
|
3083
3080
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | server-response-time": {
|
|
3084
|
-
"message": "
|
|
3081
|
+
"message": "啟用「[`Instant Load`](https://support.nitropack.io/hc/en-us/articles/16547340617361)」以改善伺服器回應時間,並最佳化使用者感知到的效能。"
|
|
3085
3082
|
},
|
|
3086
3083
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
|
|
3087
|
-
"message": "
|
|
3084
|
+
"message": "在「快取」設定中啟用「[`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources)」,可縮減 CSS、HTML 和 JavaScript 檔案的大小,以縮短載入時間。"
|
|
3088
3085
|
},
|
|
3089
3086
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-javascript": {
|
|
3090
|
-
"message": "
|
|
3087
|
+
"message": "在「快取」設定中啟用「[`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources)」,可縮減 JS、HTML 和 CSS 檔案的大小,以縮短載入時間。"
|
|
3091
3088
|
},
|
|
3092
3089
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-css-rules": {
|
|
3093
|
-
"message": "
|
|
3090
|
+
"message": "啟用「[`Reduce Unused CSS`](https://support.nitropack.io/hc/en-us/articles/360020418457-Reduce-Unused-CSS)」可移除不適用於這個網頁的 CSS 規則。"
|
|
3094
3091
|
},
|
|
3095
3092
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-javascript": {
|
|
3096
|
-
"message": "
|
|
3093
|
+
"message": "在 NitroPack 中設定「[`Delayed Scripts`](https://support.nitropack.io/hc/en-us/articles/1500002600942-Delayed-Scripts)」,可延遲載入指令碼,直到有需要再載入。"
|
|
3097
3094
|
},
|
|
3098
3095
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-long-cache-ttl": {
|
|
3099
|
-
"message": "
|
|
3096
|
+
"message": "前往「`Caching`」選單中的「[`Improve Server Response Time`](https://support.nitropack.io/hc/en-us/articles/1500002321821-Improve-Server-Response-Time)」功能,並調整網頁快取的到期時間,以改善載入時間和使用者體驗。"
|
|
3100
3097
|
},
|
|
3101
3098
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-optimized-images": {
|
|
3102
|
-
"message": "
|
|
3099
|
+
"message": "啟用「[`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/14177271695121-How-to-serve-images-in-next-gen-formats-using-NitroPack)」設定後,系統會自動將圖片壓縮、最佳化,並轉換為 WebP。"
|
|
3103
3100
|
},
|
|
3104
3101
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
|
|
3105
|
-
"message": "
|
|
3102
|
+
"message": "啟用「[`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site)」可預先將圖片最佳化,讓圖片能吻合所有裝置上的顯示容器尺寸。"
|
|
3106
3103
|
},
|
|
3107
3104
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-text-compression": {
|
|
3108
|
-
"message": "
|
|
3105
|
+
"message": "在 NitroPack 中使用「[`Gzip compression`](https://support.nitropack.io/hc/en-us/articles/13229297479313-Enabling-GZIP-compression)」,可減少傳送至瀏覽器的檔案大小。"
|
|
3109
3106
|
},
|
|
3110
3107
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
|
|
3111
3108
|
"message": "請使用 `nuxt/image` 元件並設定 `format=\"webp\"`。[瞭解詳情](https://image.nuxtjs.org/components/nuxt-img#format)。"
|
|
@@ -3309,7 +3306,7 @@
|
|
|
3309
3306
|
"message": "另存為 JSON"
|
|
3310
3307
|
},
|
|
3311
3308
|
"report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
|
|
3312
|
-
"message": "
|
|
3309
|
+
"message": "查看原始追蹤記錄"
|
|
3313
3310
|
},
|
|
3314
3311
|
"report/renderer/report-utils.js | dropdownViewer": {
|
|
3315
3312
|
"message": "在檢視器中開啟"
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"message": "`[aria-*]` 属性与其角色匹配"
|
|
19
19
|
},
|
|
20
20
|
"core/audits/accessibility/aria-allowed-role.js | description": {
|
|
21
|
-
"message": "ARIA `role`
|
|
21
|
+
"message": "ARIA `role` 让辅助技术能够了解网页上每个元素的角色。如果 `role` 值拼写有误、不是现有的 ARIA `role` 值或是抽象角色,系统便不会将相应元素的用途传达给使用辅助技术的用户。[详细了解 ARIA 角色](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-roles)。"
|
|
22
22
|
},
|
|
23
23
|
"core/audits/accessibility/aria-allowed-role.js | failureTitle": {
|
|
24
|
-
"message": "
|
|
24
|
+
"message": "向 `role=\"\"` 分配的值不是有效的 ARIA 角色。"
|
|
25
25
|
},
|
|
26
26
|
"core/audits/accessibility/aria-allowed-role.js | title": {
|
|
27
|
-
"message": "
|
|
27
|
+
"message": "向 `role=\"\"` 分配的值是有效的 ARIA 角色。"
|
|
28
28
|
},
|
|
29
29
|
"core/audits/accessibility/aria-command-name.js | description": {
|
|
30
30
|
"message": "如果某个元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何让命令元素更便于使用](https://dequeuniversity.com/rules/axe/4.7/aria-command-name)。"
|
|
@@ -336,13 +336,13 @@
|
|
|
336
336
|
"message": "图片元素具备 `[alt]` 属性"
|
|
337
337
|
},
|
|
338
338
|
"core/audits/accessibility/image-redundant-alt.js | description": {
|
|
339
|
-
"message": "
|
|
339
|
+
"message": "说明性元素应力求使用简短的描述性替代文本。如果替代文本与链接或图片旁边的文本完全相同,可能会让屏幕阅读器用户感到困惑,因为他们会听到两次同样的内容。[详细了解 `alt` 属性](https://dequeuniversity.com/rules/axe/4.7/image-redundant-alt)。"
|
|
340
340
|
},
|
|
341
341
|
"core/audits/accessibility/image-redundant-alt.js | failureTitle": {
|
|
342
|
-
"message": "
|
|
342
|
+
"message": "图片元素具有属于多余文本的 `[alt]` 属性。"
|
|
343
343
|
},
|
|
344
344
|
"core/audits/accessibility/image-redundant-alt.js | title": {
|
|
345
|
-
"message": "
|
|
345
|
+
"message": "图片元素没有属于多余文本的 `[alt]` 属性。"
|
|
346
346
|
},
|
|
347
347
|
"core/audits/accessibility/input-button-name.js | description": {
|
|
348
348
|
"message": "向输入按钮添加可识别的无障碍文本可帮助屏幕阅读器用户了解输入按钮的用途。[详细了解输入按钮](https://dequeuniversity.com/rules/axe/4.7/input-button-name)。"
|
|
@@ -363,13 +363,13 @@
|
|
|
363
363
|
"message": "`<input type=\"image\">` 元素有对应的 `[alt]` 文字"
|
|
364
364
|
},
|
|
365
365
|
"core/audits/accessibility/label-content-name-mismatch.js | description": {
|
|
366
|
-
"message": "
|
|
366
|
+
"message": "如果可见文本标签与无障碍名称不匹配,可能会让屏幕阅读器用户感到困惑。[详细了解无障碍名称](https://dequeuniversity.com/rules/axe/4.7/label-content-name-mismatch)。"
|
|
367
367
|
},
|
|
368
368
|
"core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
|
|
369
|
-
"message": "
|
|
369
|
+
"message": "带有可见文本标签的元素没有匹配的无障碍名称。"
|
|
370
370
|
},
|
|
371
371
|
"core/audits/accessibility/label-content-name-mismatch.js | title": {
|
|
372
|
-
"message": "
|
|
372
|
+
"message": "带有可见文本标签的元素具有匹配的无障碍名称。"
|
|
373
373
|
},
|
|
374
374
|
"core/audits/accessibility/label.js | description": {
|
|
375
375
|
"message": "标签可确保辅助技术(如屏幕阅读器)正确读出表单控件。[详细了解表单元素标签](https://dequeuniversity.com/rules/axe/4.7/label)。"
|
|
@@ -462,13 +462,13 @@
|
|
|
462
462
|
"message": "select 元素具有关联的标签元素。"
|
|
463
463
|
},
|
|
464
464
|
"core/audits/accessibility/skip-link.js | description": {
|
|
465
|
-
"message": "
|
|
465
|
+
"message": "添加跳转链接可帮助用户跳至主要内容以节省时间。[详细了解跳转链接](https://dequeuniversity.com/rules/axe/4.7/skip-link)。"
|
|
466
466
|
},
|
|
467
467
|
"core/audits/accessibility/skip-link.js | failureTitle": {
|
|
468
|
-
"message": "
|
|
468
|
+
"message": "跳转链接无法聚焦。"
|
|
469
469
|
},
|
|
470
470
|
"core/audits/accessibility/skip-link.js | title": {
|
|
471
|
-
"message": "
|
|
471
|
+
"message": "跳转链接可聚焦。"
|
|
472
472
|
},
|
|
473
473
|
"core/audits/accessibility/tabindex.js | description": {
|
|
474
474
|
"message": "值大于 0 意味着明确的导航顺序。尽管这在技术上可行,但往往会让依赖辅助技术的用户感到沮丧。[详细了解 `tabindex` 属性](https://dequeuniversity.com/rules/axe/4.7/tabindex)。"
|
|
@@ -480,13 +480,13 @@
|
|
|
480
480
|
"message": "所有元素的 `[tabindex]` 值都不大于 0"
|
|
481
481
|
},
|
|
482
482
|
"core/audits/accessibility/table-duplicate-name.js | description": {
|
|
483
|
-
"message": "
|
|
483
|
+
"message": "summary 属性应描述表格结构,而 `<caption>` 应含有屏幕上显示的标题。准确的表格标记对屏幕阅读器用户有帮助。[详细了解 summary 和 caption](https://dequeuniversity.com/rules/axe/4.7/table-duplicate-name)。"
|
|
484
484
|
},
|
|
485
485
|
"core/audits/accessibility/table-duplicate-name.js | failureTitle": {
|
|
486
|
-
"message": "
|
|
486
|
+
"message": "表格的 summary 属性和 `<caption>.` 具有相同的内容"
|
|
487
487
|
},
|
|
488
488
|
"core/audits/accessibility/table-duplicate-name.js | title": {
|
|
489
|
-
"message": "
|
|
489
|
+
"message": "相关表格的 summary 属性和 `<caption>` 具有不同的内容。"
|
|
490
490
|
},
|
|
491
491
|
"core/audits/accessibility/table-fake-caption.js | description": {
|
|
492
492
|
"message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请务必确保表格实际使用了 <caption> 元素(而非带有 `[colspan]` 属性的单元格),这可以提升屏幕阅读器用户的体验。[详细了解表格标题](https://dequeuniversity.com/rules/axe/4.7/table-fake-caption)。"
|
|
@@ -498,7 +498,7 @@
|
|
|
498
498
|
"message": "表格使用了 `<caption>`(而非带有 `[colspan]` 属性的单元格)来表示表格标题。"
|
|
499
499
|
},
|
|
500
500
|
"core/audits/accessibility/target-size.js | description": {
|
|
501
|
-
"message": "
|
|
501
|
+
"message": "如果触摸目标的尺寸和间距足够大,就能帮助难以精准触按小控件的用户激活相应目标。[详细了解触摸目标](https://dequeuniversity.com/rules/axe/4.7/target-size)。"
|
|
502
502
|
},
|
|
503
503
|
"core/audits/accessibility/target-size.js | failureTitle": {
|
|
504
504
|
"message": "触摸目标的尺寸或间距不足。"
|
|
@@ -1083,10 +1083,7 @@
|
|
|
1083
1083
|
"message": "prefer_related_applications 仅适用于 Android 设备上的 Chrome Beta 版和稳定版。"
|
|
1084
1084
|
},
|
|
1085
1085
|
"core/audits/installable-manifest.js | protocol-timeout": {
|
|
1086
|
-
"message": "Lighthouse
|
|
1087
|
-
},
|
|
1088
|
-
"core/audits/installable-manifest.js | scheme-not-supported-for-webapk": {
|
|
1089
|
-
"message": "清单网址的架构 ({scheme}) 在 Android 设备上不受支持。"
|
|
1086
|
+
"message": "Lighthouse 无法确定该页面是否可安装。请在较新版本的 Chrome 中重试。"
|
|
1090
1087
|
},
|
|
1091
1088
|
"core/audits/installable-manifest.js | start-url-not-valid": {
|
|
1092
1089
|
"message": "清单起始网址无效"
|
|
@@ -1707,7 +1704,7 @@
|
|
|
1707
1704
|
"message": "最佳做法"
|
|
1708
1705
|
},
|
|
1709
1706
|
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1710
|
-
"message": "
|
|
1707
|
+
"message": "这些检查会突出显示可[改进您 Web 应用的无障碍功能](https://developer.chrome.com/docs/lighthouse/accessibility/)的提示。自动检测功能只能检测到一部分问题,无法保证您 Web 应用的无障碍程度,因此您不妨再[手动测试](https://web.dev/how-to-review/)一下。"
|
|
1711
1708
|
},
|
|
1712
1709
|
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1713
1710
|
"message": "这些条目旨在检查自动化测试工具未涵盖的方面。如需了解详情,请参阅有关如何[执行无障碍功能审查](https://web.dev/how-to-review/)的指南。"
|
|
@@ -2853,7 +2850,7 @@
|
|
|
2853
2850
|
"message": "安装可延迟加载图片的 [Drupal 模块](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search)。此类模块能够推迟加载所有的屏幕外图片,进而提高性能。"
|
|
2854
2851
|
},
|
|
2855
2852
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
|
|
2856
|
-
"message": "
|
|
2853
|
+
"message": "不妨考虑使用模块来内嵌关键的 CSS 和 JavaScript,并为非关键的 CSS 或 JavaScript 使用 defer 属性。"
|
|
2857
2854
|
},
|
|
2858
2855
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
|
|
2859
2856
|
"message": "主题背景、模块和服务器规格都会影响服务器响应用时。建议您查找更优化的主题背景、仔细选择优化模块并/或升级您的服务器。您的托管服务器应该使用 PHP 运算码缓存、内存缓存(例如 Redis 或 Memcached)来缩短数据库查询时间,并优化应用逻辑以加快网页准备速度。"
|
|
@@ -2862,10 +2859,10 @@
|
|
|
2862
2859
|
"message": "建议您使用[自适应图片样式](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8)减小在您网页上加载的图片的大小。如果您使用 Views 在网页上显示多个内容项,请考虑实现分页,以限制给定网页上显示的内容项的数量。"
|
|
2863
2860
|
},
|
|
2864
2861
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
|
|
2865
|
-
"message": "
|
|
2862
|
+
"message": "确保您已在“管理 » 配置 » 开发”页面中启用了“聚合 CSS 文件”。为获得更好的资源聚合支持,请确保您的 Drupal 网站至少在 Drupal 10.1 以上版本运行。"
|
|
2866
2863
|
},
|
|
2867
2864
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
|
|
2868
|
-
"message": "
|
|
2865
|
+
"message": "确保您已在“管理 » 配置 » 开发”页面中启用了“聚合 JavaScript 文件”。为获得更好的资源聚合支持,请确保您的 Drupal 网站至少在 Drupal 10.1 以上版本运行。"
|
|
2869
2866
|
},
|
|
2870
2867
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
|
|
2871
2868
|
"message": "建议您移除未使用的 CSS 规则,仅将所需的 Drupal 库附加到相关网页或网页中的组件。如需了解详情,请访问 [Drupal 文档链接](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library)。若想找出会添加无关 CSS 的附加库,请尝试在 Chrome 开发者工具中运行[代码覆盖率](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage)测试。在 Drupal 网站中停用 CSS 聚合后,您可根据样式表网址找出导致问题的主题背景/模块。请留意列表中哪些主题背景/模块有大量样式表的代码覆盖率偏红。主题背景/模块应该只将网页中确实用到的样式表加入队列。"
|
|
@@ -3066,46 +3063,46 @@
|
|
|
3066
3063
|
"message": "请在您的 Next.js 服务器上启用压缩功能。[了解详情](https://nextjs.org/docs/api-reference/next.config.js/compression)。"
|
|
3067
3064
|
},
|
|
3068
3065
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | dom-size": {
|
|
3069
|
-
"message": "
|
|
3066
|
+
"message": "如需启用 [`HTML Lazy Load`](https://support.nitropack.io/hc/en-us/articles/17144942904337),请与您的客户经理联系。配置该功能后,系统会将页面渲染性能设为优先事项,并优化此性能。"
|
|
3070
3067
|
},
|
|
3071
3068
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | font-display": {
|
|
3072
|
-
"message": "
|
|
3069
|
+
"message": "使用 NitroPack 中的 [`Override Font Rendering Behavior`](https://support.nitropack.io/hc/en-us/articles/16547358865041) 选项为 CSS font-display 规则设置所需的值。"
|
|
3073
3070
|
},
|
|
3074
3071
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | modern-image-formats": {
|
|
3075
|
-
"message": "
|
|
3072
|
+
"message": "使用 [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/16547237162513) 可自动将图片转换为 WebP 格式。"
|
|
3076
3073
|
},
|
|
3077
3074
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | offscreen-images": {
|
|
3078
|
-
"message": "
|
|
3075
|
+
"message": "启用 [`Automatic Image Lazy Loading`](https://support.nitropack.io/hc/en-us/articles/12457493524369-NitroPack-Lazy-Loading-Feature-for-Images) 可推迟加载屏幕外图片。"
|
|
3079
3076
|
},
|
|
3080
3077
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
|
|
3081
|
-
"message": "
|
|
3078
|
+
"message": "在 NitroPack 中启用 [`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack) 可缩短初始加载时间。"
|
|
3082
3079
|
},
|
|
3083
3080
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | server-response-time": {
|
|
3084
|
-
"message": "
|
|
3081
|
+
"message": "启用 [`Instant Load`](https://support.nitropack.io/hc/en-us/articles/16547340617361) 可缩短服务器响应用时,并提升用户感知到的性能。"
|
|
3085
3082
|
},
|
|
3086
3083
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
|
|
3087
|
-
"message": "
|
|
3084
|
+
"message": "在缓存设置中启用 [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) 可缩减 CSS、HTML 和 JavaScript 文件的大小,从而缩短加载时间。"
|
|
3088
3085
|
},
|
|
3089
3086
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-javascript": {
|
|
3090
|
-
"message": "
|
|
3087
|
+
"message": "在缓存设置中启用 [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) 可缩减 JS、HTML 和 CSS 文件的大小,从而缩短加载时间。"
|
|
3091
3088
|
},
|
|
3092
3089
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-css-rules": {
|
|
3093
|
-
"message": "
|
|
3090
|
+
"message": "启用 [`Reduce Unused CSS`](https://support.nitropack.io/hc/en-us/articles/360020418457-Reduce-Unused-CSS) 可移除对该页面不适用的 CSS 规则。"
|
|
3094
3091
|
},
|
|
3095
3092
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-javascript": {
|
|
3096
|
-
"message": "
|
|
3093
|
+
"message": "在 NitroPack 中配置 [`Delayed Scripts`](https://support.nitropack.io/hc/en-us/articles/1500002600942-Delayed-Scripts) 可延迟脚本的加载时间,到有需要时再加载。"
|
|
3097
3094
|
},
|
|
3098
3095
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-long-cache-ttl": {
|
|
3099
|
-
"message": "
|
|
3096
|
+
"message": "前往 `Caching` 菜单中的 [`Improve Server Response Time`](https://support.nitropack.io/hc/en-us/articles/1500002321821-Improve-Server-Response-Time) 功能,调整页面缓存失效时间,即可缩短加载时间并改善用户体验。"
|
|
3100
3097
|
},
|
|
3101
3098
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-optimized-images": {
|
|
3102
|
-
"message": "
|
|
3099
|
+
"message": "启用 [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/14177271695121-How-to-serve-images-in-next-gen-formats-using-NitroPack) 设置后,系统会自动压缩、优化图片并将其转换为 WebP 格式。"
|
|
3103
3100
|
},
|
|
3104
3101
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
|
|
3105
|
-
"message": "
|
|
3102
|
+
"message": "启用 [`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site) 可提前优化图片,使其与在所有设备上显示时所用容器的尺寸相匹配。"
|
|
3106
3103
|
},
|
|
3107
3104
|
"node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-text-compression": {
|
|
3108
|
-
"message": "
|
|
3105
|
+
"message": "在 NitroPack 中使用 [`Gzip compression`](https://support.nitropack.io/hc/en-us/articles/13229297479313-Enabling-GZIP-compression) 可缩减向浏览器发送的文件的大小。"
|
|
3109
3106
|
},
|
|
3110
3107
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
|
|
3111
3108
|
"message": "请使用 `nuxt/image` 组件并采用如下设置:`format=\"webp\"`。[了解详情](https://image.nuxtjs.org/components/nuxt-img#format)。"
|
|
@@ -3309,7 +3306,7 @@
|
|
|
3309
3306
|
"message": "另存为 JSON"
|
|
3310
3307
|
},
|
|
3311
3308
|
"report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
|
|
3312
|
-
"message": "
|
|
3309
|
+
"message": "查看原始跟踪记录"
|
|
3313
3310
|
},
|
|
3314
3311
|
"report/renderer/report-utils.js | dropdownViewer": {
|
|
3315
3312
|
"message": "在查看器中打开"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
import fs from 'fs';
|
|
25
25
|
|
|
26
|
-
import {getModuleDirectory} from '
|
|
26
|
+
import {getModuleDirectory} from '../esm-utils.js';
|
|
27
27
|
|
|
28
28
|
/** @typedef {import('../../types/lhr/settings').Locale} Locale */
|
|
29
29
|
/** @typedef {Record<string, {message: string}>} LhlMessages */
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import fs from 'fs';
|
|
8
|
+
import path from 'path';
|
|
8
9
|
|
|
9
10
|
import {getModuleDirectory} from './esm-utils.js';
|
|
10
11
|
|
|
11
|
-
const LH_ROOT = getModuleDirectory(import.meta);
|
|
12
|
+
const LH_ROOT = path.dirname(getModuleDirectory(import.meta));
|
|
12
13
|
const pkg = JSON.parse(fs.readFileSync(`${LH_ROOT}/package.json`, 'utf-8'));
|
|
13
14
|
const lighthouseVersion = pkg.version;
|
|
14
15
|
|
package/shared/tsconfig.json
CHANGED
|
@@ -12,7 +12,7 @@ import fs from 'fs';
|
|
|
12
12
|
import path from 'path';
|
|
13
13
|
import { execSync as shell } from 'child_process';
|
|
14
14
|
import * as utils from './utils.js';
|
|
15
|
-
import { LH_ROOT } from '../../root.js';
|
|
15
|
+
import { LH_ROOT } from '../../shared/root.js';
|
|
16
16
|
|
|
17
17
|
const TARGET = 'Release';
|
|
18
18
|
const CONTENT_SHELL_ZIP = 'content-shell.zip';
|
package/tsconfig.json
CHANGED
package/types/artifacts.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ declare module Artifacts {
|
|
|
173
173
|
|
|
174
174
|
type NetworkRequest = _NetworkRequest;
|
|
175
175
|
type TaskNode = _TaskNode;
|
|
176
|
+
type TBTImpactTask = TaskNode & {tbtImpact: number, selfTbtImpact: number};
|
|
176
177
|
type MetaElement = Artifacts['MetaElements'][0];
|
|
177
178
|
|
|
178
179
|
interface URL {
|
|
@@ -209,7 +210,7 @@ declare module Artifacts {
|
|
|
209
210
|
impact?: string;
|
|
210
211
|
tags: Array<string>;
|
|
211
212
|
nodes: Array<{
|
|
212
|
-
target: Array<string>;
|
|
213
|
+
target: Array<string|string[]>;
|
|
213
214
|
failureSummary?: string;
|
|
214
215
|
node: NodeDetails;
|
|
215
216
|
relatedNodes: NodeDetails[];
|
package/types/audit.d.ts
CHANGED
|
@@ -54,6 +54,8 @@ declare module Audit {
|
|
|
54
54
|
scoreDisplayMode?: AuditResult.ScoreDisplayMode;
|
|
55
55
|
/** A list of gather modes that this audit is applicable to. */
|
|
56
56
|
supportedModes?: Gatherer.GatherMode[],
|
|
57
|
+
/** A number indicating how much guidance Lighthouse provides to solve the problem in this audit on a 1-3 scale. Higher means more guidance. */
|
|
58
|
+
guidanceLevel?: number;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
interface ByteEfficiencyItem extends AuditDetails.OpportunityItem {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|