lighthouse 11.2.0 → 11.3.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.
Files changed (106) hide show
  1. package/cli/cli-flags.d.ts +5 -1
  2. package/cli/cli-flags.js +5 -1
  3. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +2 -2
  4. package/cli/test/smokehouse/frontends/smokehouse-bin.js +18 -7
  5. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +2 -4
  6. package/cli/test/smokehouse/lighthouse-runners/bundle.js +8 -4
  7. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +2 -4
  8. package/cli/test/smokehouse/lighthouse-runners/cli.js +5 -3
  9. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +2 -1
  10. package/cli/test/smokehouse/lighthouse-runners/devtools.js +3 -1
  11. package/cli/test/smokehouse/smokehouse.d.ts +4 -2
  12. package/cli/test/smokehouse/smokehouse.js +10 -7
  13. package/core/audits/byte-efficiency/legacy-javascript.js +2 -2
  14. package/core/audits/image-size-responsive.js +1 -1
  15. package/core/audits/layout-shift-elements.js +1 -1
  16. package/core/audits/lcp-lazy-loaded.js +2 -2
  17. package/core/audits/long-tasks.js +1 -1
  18. package/core/audits/metrics/cumulative-layout-shift.js +2 -2
  19. package/core/audits/metrics/interaction-to-next-paint.js +2 -2
  20. package/core/audits/metrics/largest-contentful-paint.js +1 -1
  21. package/core/audits/no-unload-listeners.js +1 -1
  22. package/core/audits/preload-fonts.js +1 -1
  23. package/core/audits/prioritize-lcp-image.js +1 -1
  24. package/core/audits/unsized-images.js +1 -1
  25. package/core/audits/work-during-interaction.js +1 -1
  26. package/core/config/config.d.ts +1 -2
  27. package/core/config/config.js +18 -62
  28. package/core/config/constants.d.ts +1 -3
  29. package/core/config/constants.js +4 -18
  30. package/core/config/default-config.js +8 -8
  31. package/core/config/filters.d.ts +0 -8
  32. package/core/config/filters.js +0 -28
  33. package/core/config/validation.d.ts +4 -15
  34. package/core/config/validation.js +18 -63
  35. package/core/gather/base-artifacts.d.ts +2 -2
  36. package/core/gather/base-artifacts.js +5 -5
  37. package/core/gather/driver/navigation.d.ts +1 -1
  38. package/core/gather/driver/navigation.js +1 -1
  39. package/core/gather/driver/prepare.d.ts +3 -18
  40. package/core/gather/driver/prepare.js +21 -43
  41. package/core/gather/driver/storage.d.ts +2 -1
  42. package/core/gather/driver/storage.js +3 -12
  43. package/core/gather/gatherers/inspector-issues.js +1 -0
  44. package/core/gather/navigation-runner.d.ts +3 -31
  45. package/core/gather/navigation-runner.js +46 -113
  46. package/core/lib/navigation-error.d.ts +8 -3
  47. package/core/lib/navigation-error.js +19 -11
  48. package/dist/report/bundle.esm.js +4 -4
  49. package/dist/report/flow.js +7 -7
  50. package/dist/report/standalone.js +5 -5
  51. package/package.json +8 -8
  52. package/report/renderer/performance-category-renderer.js +2 -1
  53. package/shared/localization/locales/ar-XB.json +78 -75
  54. package/shared/localization/locales/ar.json +78 -75
  55. package/shared/localization/locales/bg.json +78 -75
  56. package/shared/localization/locales/ca.json +78 -75
  57. package/shared/localization/locales/cs.json +78 -75
  58. package/shared/localization/locales/da.json +78 -75
  59. package/shared/localization/locales/de.json +81 -78
  60. package/shared/localization/locales/el.json +84 -81
  61. package/shared/localization/locales/en-GB.json +78 -75
  62. package/shared/localization/locales/en-US.json +26 -23
  63. package/shared/localization/locales/en-XA.json +78 -75
  64. package/shared/localization/locales/en-XL.json +26 -23
  65. package/shared/localization/locales/es-419.json +78 -75
  66. package/shared/localization/locales/es.json +78 -75
  67. package/shared/localization/locales/fi.json +79 -76
  68. package/shared/localization/locales/fil.json +78 -75
  69. package/shared/localization/locales/fr.json +78 -75
  70. package/shared/localization/locales/he.json +78 -75
  71. package/shared/localization/locales/hi.json +78 -75
  72. package/shared/localization/locales/hr.json +78 -75
  73. package/shared/localization/locales/hu.json +78 -75
  74. package/shared/localization/locales/id.json +78 -75
  75. package/shared/localization/locales/it.json +79 -76
  76. package/shared/localization/locales/ja.json +78 -75
  77. package/shared/localization/locales/ko.json +78 -75
  78. package/shared/localization/locales/lt.json +78 -75
  79. package/shared/localization/locales/lv.json +78 -75
  80. package/shared/localization/locales/nl.json +78 -75
  81. package/shared/localization/locales/no.json +78 -75
  82. package/shared/localization/locales/pl.json +78 -75
  83. package/shared/localization/locales/pt-PT.json +78 -75
  84. package/shared/localization/locales/pt.json +79 -76
  85. package/shared/localization/locales/ro.json +78 -75
  86. package/shared/localization/locales/ru.json +78 -75
  87. package/shared/localization/locales/sk.json +78 -75
  88. package/shared/localization/locales/sl.json +78 -75
  89. package/shared/localization/locales/sr-Latn.json +78 -75
  90. package/shared/localization/locales/sr.json +78 -75
  91. package/shared/localization/locales/sv.json +78 -75
  92. package/shared/localization/locales/ta.json +78 -75
  93. package/shared/localization/locales/te.json +78 -75
  94. package/shared/localization/locales/th.json +78 -75
  95. package/shared/localization/locales/tr.json +78 -75
  96. package/shared/localization/locales/uk.json +78 -75
  97. package/shared/localization/locales/vi.json +78 -75
  98. package/shared/localization/locales/zh-HK.json +78 -75
  99. package/shared/localization/locales/zh-TW.json +79 -76
  100. package/shared/localization/locales/zh.json +78 -75
  101. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +1 -0
  102. package/types/artifacts.d.ts +1 -0
  103. package/types/config.d.ts +0 -38
  104. package/types/internal/rxjs.d.ts +4 -0
  105. package/types/internal/smokehouse.d.ts +10 -5
  106. package/types/lhr/settings.d.ts +13 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "message": "快捷键可让用户快速转到页面的某个部分。为确保正确进行导航,每个快捷键都必须是独一无二的。[详细了解快捷键](https://dequeuniversity.com/rules/axe/4.7/accesskeys)。"
3
+ "message": "快捷键可让用户快速转到页面的某个部分。为确保正确进行导航,每个快捷键都必须是独一无二的。[详细了解快捷键](https://dequeuniversity.com/rules/axe/4.8/accesskeys)。"
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "`[accesskey]` 的值重复"
@@ -9,7 +9,7 @@
9
9
  "message": "“`[accesskey]`”值是独一无二的"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "每个 ARIA“`role`”都支持一部分特定的“`aria-*`”属性。如果这些项不匹配,会导致“`aria-*`”属性无效。[了解如何将 ARIA 属性与其角色进行匹配](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-attr)。"
12
+ "message": "每个 ARIA“`role`”都支持一部分特定的“`aria-*`”属性。如果这些项不匹配,会导致“`aria-*`”属性无效。[了解如何将 ARIA 属性与其角色进行匹配](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-attr)。"
13
13
  },
14
14
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
15
  "message": "`[aria-*]` 属性与其角色不匹配"
@@ -18,7 +18,7 @@
18
18
  "message": "`[aria-*]` 属性与其角色匹配"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "ARIA `role` 让辅助技术能够了解网页上每个元素的角色。如果 `role` 值拼写有误、不是现有的 ARIA `role` 值或是抽象角色,系统便不会将相应元素的用途传达给使用辅助技术的用户。[详细了解 ARIA 角色](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-roles)。"
21
+ "message": "ARIA `role` 让辅助技术能够了解网页上每个元素的角色。如果 `role` 值拼写有误、不是现有的 ARIA `role` 值或是抽象角色,系统便不会将相应元素的用途传达给使用辅助技术的用户。[详细了解 ARIA 角色](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-roles)。"
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "向 `role=\"\"` 分配的值不是有效的 ARIA 角色。"
@@ -27,7 +27,7 @@
27
27
  "message": "向 `role=\"\"` 分配的值是有效的 ARIA 角色。"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "如果某个元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何让命令元素更便于使用](https://dequeuniversity.com/rules/axe/4.7/aria-command-name)。"
30
+ "message": "如果某个元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何让命令元素更便于使用](https://dequeuniversity.com/rules/axe/4.8/aria-command-name)。"
31
31
  },
32
32
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
33
  "message": "`button`、`link` 和 `menuitem` 元素缺少可供访问的名称。"
@@ -36,7 +36,7 @@
36
36
  "message": "`button`、`link` 和 `menuitem` 元素都有可供访问的名称"
37
37
  },
38
38
  "core/audits/accessibility/aria-dialog-name.js | description": {
39
- "message": "如果 ARIA 对话框元素缺少无障碍名称,可能会妨碍屏幕阅读器用户理解这些元素的用途。[了解如何让 ARIA 对话框元素更符合无障碍需求](https://dequeuniversity.com/rules/axe/4.7/aria-dialog-name)。"
39
+ "message": "如果 ARIA 对话框元素缺少无障碍名称,可能会妨碍屏幕阅读器用户理解这些元素的用途。[了解如何让 ARIA 对话框元素更符合无障碍需求](https://dequeuniversity.com/rules/axe/4.8/aria-dialog-name)。"
40
40
  },
41
41
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
42
42
  "message": "具有 `role=\"dialog\"` 或 `role=\"alertdialog\"` 的元素缺少无障碍名称。"
@@ -45,7 +45,7 @@
45
45
  "message": "具有 `role=\"dialog\"` 或 `role=\"alertdialog\"` 的元素均有无障碍名称。"
46
46
  },
47
47
  "core/audits/accessibility/aria-hidden-body.js | description": {
48
- "message": "在文档 `<body>` 上设置 `aria-hidden=\"true\"` 后,辅助技术(如屏幕阅读器)的工作方式不一致。[了解 `aria-hidden` 对文档正文的影响](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-body)。"
48
+ "message": "在文档 `<body>` 上设置 `aria-hidden=\"true\"` 后,辅助技术(如屏幕阅读器)的工作方式不一致。[了解 `aria-hidden` 对文档正文的影响](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-body)。"
49
49
  },
50
50
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
51
51
  "message": "文档 `<body>` 中有 `[aria-hidden=\"true\"]`"
@@ -54,7 +54,7 @@
54
54
  "message": "文档 `<body>` 中没有 `[aria-hidden=\"true\"]`"
55
55
  },
56
56
  "core/audits/accessibility/aria-hidden-focus.js | description": {
57
- "message": "有一个 `[aria-hidden=\"true\"]` 元素包含可聚焦的下级元素,导致这些交互式元素都无法被辅助技术(如屏幕阅读器)用户使用。[了解 `aria-hidden` 如何影响可聚焦的元素](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-focus)。"
57
+ "message": "有一个 `[aria-hidden=\"true\"]` 元素包含可聚焦的下级元素,导致这些交互式元素都无法被辅助技术(如屏幕阅读器)用户使用。[了解 `aria-hidden` 如何影响可聚焦的元素](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-focus)。"
58
58
  },
59
59
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
60
60
  "message": "`[aria-hidden=\"true\"]` 元素包含可聚焦的下级元素"
@@ -63,7 +63,7 @@
63
63
  "message": "`[aria-hidden=\"true\"]` 元素都不含可聚焦的下级元素"
64
64
  },
65
65
  "core/audits/accessibility/aria-input-field-name.js | description": {
66
- "message": "如果某个输入字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解输入字段标签](https://dequeuniversity.com/rules/axe/4.7/aria-input-field-name)。"
66
+ "message": "如果某个输入字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解输入字段标签](https://dequeuniversity.com/rules/axe/4.8/aria-input-field-name)。"
67
67
  },
68
68
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
69
69
  "message": "ARIA 输入字段缺少可供访问的名称"
@@ -72,7 +72,7 @@
72
72
  "message": "ARIA 输入字段都有可供访问的名称"
73
73
  },
74
74
  "core/audits/accessibility/aria-meter-name.js | description": {
75
- "message": "如果某个 meter 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `meter` 元素命名](https://dequeuniversity.com/rules/axe/4.7/aria-meter-name)。"
75
+ "message": "如果某个 meter 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `meter` 元素命名](https://dequeuniversity.com/rules/axe/4.8/aria-meter-name)。"
76
76
  },
77
77
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
78
78
  "message": "ARIA `meter` 元素缺少可供访问的名称。"
@@ -81,7 +81,7 @@
81
81
  "message": "ARIA `meter` 元素都有可供访问的名称"
82
82
  },
83
83
  "core/audits/accessibility/aria-progressbar-name.js | description": {
84
- "message": "如果某个 `progressbar` 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `progressbar` 元素添加标签](https://dequeuniversity.com/rules/axe/4.7/aria-progressbar-name)。"
84
+ "message": "如果某个 `progressbar` 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `progressbar` 元素添加标签](https://dequeuniversity.com/rules/axe/4.8/aria-progressbar-name)。"
85
85
  },
86
86
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
87
87
  "message": "ARIA `progressbar` 元素缺少可供访问的名称。"
@@ -90,7 +90,7 @@
90
90
  "message": "ARIA `progressbar` 元素都有可供访问的名称"
91
91
  },
92
92
  "core/audits/accessibility/aria-required-attr.js | description": {
93
- "message": "一些 ARIA 角色有必需属性,这些属性向屏幕阅读器描述了相应元素的状态。[详细了解角色和必需属性](https://dequeuniversity.com/rules/axe/4.7/aria-required-attr)。"
93
+ "message": "一些 ARIA 角色有必需属性,这些属性向屏幕阅读器描述了相应元素的状态。[详细了解角色和必需属性](https://dequeuniversity.com/rules/axe/4.8/aria-required-attr)。"
94
94
  },
95
95
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
96
96
  "message": "`[role]` 缺少部分必需的 `[aria-*]` 属性"
@@ -99,7 +99,7 @@
99
99
  "message": "`[role]` 具备所有必需的 `[aria-*]` 属性"
100
100
  },
101
101
  "core/audits/accessibility/aria-required-children.js | description": {
102
- "message": "一些 ARIA 父角色必须包含特定子角色,才能执行它们的预期无障碍功能。[详细了解角色和必需的子元素](https://dequeuniversity.com/rules/axe/4.7/aria-required-children)。"
102
+ "message": "一些 ARIA 父角色必须包含特定子角色,才能执行它们的预期无障碍功能。[详细了解角色和必需的子元素](https://dequeuniversity.com/rules/axe/4.8/aria-required-children)。"
103
103
  },
104
104
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
105
105
  "message": "具有 ARIA `[role]`且要求子元素必须包含特定`[role]`的元素缺少部分或全部必需子元素。"
@@ -108,7 +108,7 @@
108
108
  "message": "具有 ARIA `[role]`且要求子元素必须包含特定`[role]`的元素包含全部必需子元素。"
109
109
  },
110
110
  "core/audits/accessibility/aria-required-parent.js | description": {
111
- "message": "一些 ARIA 子角色必须包含在特定的父角色中,才能正确执行它们的预期无障碍功能。[详细了解 ARIA 角色和必需的父元素](https://dequeuniversity.com/rules/axe/4.7/aria-required-parent)。"
111
+ "message": "一些 ARIA 子角色必须包含在特定的父角色中,才能正确执行它们的预期无障碍功能。[详细了解 ARIA 角色和必需的父元素](https://dequeuniversity.com/rules/axe/4.8/aria-required-parent)。"
112
112
  },
113
113
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
114
114
  "message": "`[role]` 未包含在其必需的父元素中"
@@ -117,7 +117,7 @@
117
117
  "message": "`[role]` 包含在其必需的父元素中"
118
118
  },
119
119
  "core/audits/accessibility/aria-roles.js | description": {
120
- "message": "ARIA 角色必须具备有效值,才能执行它们的预期无障碍功能。[详细了解有效的 ARIA 角色](https://dequeuniversity.com/rules/axe/4.7/aria-roles)。"
120
+ "message": "ARIA 角色必须具备有效值,才能执行它们的预期无障碍功能。[详细了解有效的 ARIA 角色](https://dequeuniversity.com/rules/axe/4.8/aria-roles)。"
121
121
  },
122
122
  "core/audits/accessibility/aria-roles.js | failureTitle": {
123
123
  "message": "`[role]` 值无效"
@@ -126,7 +126,7 @@
126
126
  "message": "`[role]` 值有效"
127
127
  },
128
128
  "core/audits/accessibility/aria-text.js | description": {
129
- "message": "在一个被标记分隔的文本节点周围添加 `role=text` 后,VoiceOver 会将该文本元素视为一个短语,但不会读出它的可聚焦后代元素。[详细了解 `role=text` 属性](https://dequeuniversity.com/rules/axe/4.7/aria-text)。"
129
+ "message": "在一个被标记分隔的文本节点周围添加 `role=text` 后,VoiceOver 会将该文本元素视为一个短语,但不会读出它的可聚焦后代元素。[详细了解 `role=text` 属性](https://dequeuniversity.com/rules/axe/4.8/aria-text)。"
130
130
  },
131
131
  "core/audits/accessibility/aria-text.js | failureTitle": {
132
132
  "message": "具有 `role=text` 属性的元素包含可聚焦后代元素。"
@@ -135,7 +135,7 @@
135
135
  "message": "具有 `role=text` 属性的元素缺少可聚焦后代元素。"
136
136
  },
137
137
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
138
- "message": "如果某个切换字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解切换字段](https://dequeuniversity.com/rules/axe/4.7/aria-toggle-field-name)。"
138
+ "message": "如果某个切换字段没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解切换字段](https://dequeuniversity.com/rules/axe/4.8/aria-toggle-field-name)。"
139
139
  },
140
140
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
141
141
  "message": "ARIA 切换字段缺少可供访问的名称"
@@ -144,7 +144,7 @@
144
144
  "message": "ARIA 切换字段都有可供访问的名称"
145
145
  },
146
146
  "core/audits/accessibility/aria-tooltip-name.js | description": {
147
- "message": "如果某个 tooltip 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `tooltip` 元素命名](https://dequeuniversity.com/rules/axe/4.7/aria-tooltip-name)。"
147
+ "message": "如果某个 tooltip 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何为 `tooltip` 元素命名](https://dequeuniversity.com/rules/axe/4.8/aria-tooltip-name)。"
148
148
  },
149
149
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
150
150
  "message": "ARIA `tooltip` 元素缺少可供访问的名称。"
@@ -153,7 +153,7 @@
153
153
  "message": "ARIA `tooltip` 元素都有可供访问的名称"
154
154
  },
155
155
  "core/audits/accessibility/aria-treeitem-name.js | description": {
156
- "message": "如果某个 `treeitem` 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解如何为 `treeitem` 元素添加标签](https://dequeuniversity.com/rules/axe/4.7/aria-treeitem-name)。"
156
+ "message": "如果某个 `treeitem` 元素没有无障碍名称,屏幕阅读器会将它读为通用名称,这会导致依赖屏幕阅读器的用户无法使用它。[详细了解如何为 `treeitem` 元素添加标签](https://dequeuniversity.com/rules/axe/4.8/aria-treeitem-name)。"
157
157
  },
158
158
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
159
159
  "message": "ARIA `treeitem` 元素缺少可供访问的名称。"
@@ -162,7 +162,7 @@
162
162
  "message": "ARIA `treeitem` 元素都有可供访问的名称"
163
163
  },
164
164
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
165
- "message": "辅助技术(如屏幕阅读器)无法解读值无效的 ARIA 属性。[详细了解 ARIA 属性的有效值](https://dequeuniversity.com/rules/axe/4.7/aria-valid-attr-value)。"
165
+ "message": "辅助技术(如屏幕阅读器)无法解读值无效的 ARIA 属性。[详细了解 ARIA 属性的有效值](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr-value)。"
166
166
  },
167
167
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
168
168
  "message": "`[aria-*]` 属性缺少有效值"
@@ -171,7 +171,7 @@
171
171
  "message": "`[aria-*]` 属性具备有效值"
172
172
  },
173
173
  "core/audits/accessibility/aria-valid-attr.js | description": {
174
- "message": "辅助技术(如屏幕阅读器)无法解读名称无效的 ARIA 属性。[详细了解有效的 ARIA 属性](https://dequeuniversity.com/rules/axe/4.7/aria-valid-attr)。"
174
+ "message": "辅助技术(如屏幕阅读器)无法解读名称无效的 ARIA 属性。[详细了解有效的 ARIA 属性](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr)。"
175
175
  },
176
176
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
177
177
  "message": "`[aria-*]` 属性无效或拼写有误"
@@ -183,7 +183,7 @@
183
183
  "message": "未通过审核的元素"
184
184
  },
185
185
  "core/audits/accessibility/button-name.js | description": {
186
- "message": "当某个按钮没有无障碍名称时,屏幕阅读器会将它读为“按钮”,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何让按钮更便于使用](https://dequeuniversity.com/rules/axe/4.7/button-name)。"
186
+ "message": "当某个按钮没有无障碍名称时,屏幕阅读器会将它读为“按钮”,这会导致依赖屏幕阅读器的用户无法使用它。[了解如何让按钮更便于使用](https://dequeuniversity.com/rules/axe/4.8/button-name)。"
187
187
  },
188
188
  "core/audits/accessibility/button-name.js | failureTitle": {
189
189
  "message": "按钮缺少可供访问的名称"
@@ -192,7 +192,7 @@
192
192
  "message": "按钮有可供访问的名称"
193
193
  },
194
194
  "core/audits/accessibility/bypass.js | description": {
195
- "message": "添加用于绕过重复内容的方式有助于键盘用户更高效地浏览页面。[详细了解如何绕过内容块](https://dequeuniversity.com/rules/axe/4.7/bypass)。"
195
+ "message": "添加用于绕过重复内容的方式有助于键盘用户更高效地浏览页面。[详细了解如何绕过内容块](https://dequeuniversity.com/rules/axe/4.8/bypass)。"
196
196
  },
197
197
  "core/audits/accessibility/bypass.js | failureTitle": {
198
198
  "message": "该页面不含任何标题、跳过链接或地标区域"
@@ -201,7 +201,7 @@
201
201
  "message": "该页面包含一个标题、跳过链接或地标区域"
202
202
  },
203
203
  "core/audits/accessibility/color-contrast.js | description": {
204
- "message": "对于许多用户而言,对比度低的文字都是难以阅读或无法阅读的。[了解如何提供足够高的色彩对比度](https://dequeuniversity.com/rules/axe/4.7/color-contrast)。"
204
+ "message": "对于许多用户而言,对比度低的文字都是难以阅读或无法阅读的。[了解如何提供足够高的色彩对比度](https://dequeuniversity.com/rules/axe/4.8/color-contrast)。"
205
205
  },
206
206
  "core/audits/accessibility/color-contrast.js | failureTitle": {
207
207
  "message": "背景色和前景色没有足够高的对比度。"
@@ -210,7 +210,7 @@
210
210
  "message": "背景色和前景色具有足够高的对比度"
211
211
  },
212
212
  "core/audits/accessibility/definition-list.js | description": {
213
- "message": "如果未正确标记定义列表,屏幕阅读器读出的内容可能会令人困惑或不准确。[了解如何正确构建定义列表](https://dequeuniversity.com/rules/axe/4.7/definition-list)。"
213
+ "message": "如果未正确标记定义列表,屏幕阅读器读出的内容可能会令人困惑或不准确。[了解如何正确构建定义列表](https://dequeuniversity.com/rules/axe/4.8/definition-list)。"
214
214
  },
215
215
  "core/audits/accessibility/definition-list.js | failureTitle": {
216
216
  "message": "`<dl>` 并非只包含经过适当排序的 `<dt>` 和 `<dd>` 组及 `<script>`、`<template>` 或 `<div>` 元素。"
@@ -219,7 +219,7 @@
219
219
  "message": "`<dl>` 只包含经过适当排序的 `<dt>` 和 `<dd>` 组及 `<script>`、`<template>` 或 `<div>` 元素。"
220
220
  },
221
221
  "core/audits/accessibility/dlitem.js | description": {
222
- "message": "定义列表项(`<dt>` 和 `<dd>`)必须封装在父 `<dl>` 元素中,以确保屏幕阅读器可以正确地读出它们。[了解如何正确构建定义列表](https://dequeuniversity.com/rules/axe/4.7/dlitem)。"
222
+ "message": "定义列表项(`<dt>` 和 `<dd>`)必须封装在父 `<dl>` 元素中,以确保屏幕阅读器可以正确地读出它们。[了解如何正确构建定义列表](https://dequeuniversity.com/rules/axe/4.8/dlitem)。"
223
223
  },
224
224
  "core/audits/accessibility/dlitem.js | failureTitle": {
225
225
  "message": "定义列表项已封装在 `<dl>` 元素中"
@@ -228,7 +228,7 @@
228
228
  "message": "定义列表项已封装在 `<dl>` 元素中"
229
229
  },
230
230
  "core/audits/accessibility/document-title.js | description": {
231
- "message": "屏幕阅读器用户可借助标题来大致了解某个页面的内容,搜索引擎用户则非常依赖标题来确定某个页面是否与其搜索相关。[详细了解文档标题](https://dequeuniversity.com/rules/axe/4.7/document-title)。"
231
+ "message": "屏幕阅读器用户可借助标题来大致了解某个页面的内容,搜索引擎用户则非常依赖标题来确定某个页面是否与其搜索相关。[详细了解文档标题](https://dequeuniversity.com/rules/axe/4.8/document-title)。"
232
232
  },
233
233
  "core/audits/accessibility/document-title.js | failureTitle": {
234
234
  "message": "文档不含 `<title>` 元素"
@@ -237,7 +237,7 @@
237
237
  "message": "文档包含 `<title>` 元素"
238
238
  },
239
239
  "core/audits/accessibility/duplicate-id-active.js | description": {
240
- "message": "所有可聚焦的元素都必须具有独一无二的 `id`,以确保能被辅助技术识别。[了解如何修正重复的 `id`](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-active)。"
240
+ "message": "所有可聚焦的元素都必须具有独一无二的 `id`,以确保能被辅助技术识别。[了解如何修正重复的 `id`](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-active)。"
241
241
  },
242
242
  "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
243
243
  "message": "处于活动状态的可聚焦元素的 `[id]` 属性不是独一无二的"
@@ -246,7 +246,7 @@
246
246
  "message": "处于活动状态的可聚焦元素的 `[id]` 属性都是独一无二的"
247
247
  },
248
248
  "core/audits/accessibility/duplicate-id-aria.js | description": {
249
- "message": "ARIA ID 的值必须独一无二,才能防止其他实例被辅助技术忽略。[了解如何修正重复的 ARIA ID](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-aria)。"
249
+ "message": "ARIA ID 的值必须独一无二,才能防止其他实例被辅助技术忽略。[了解如何修正重复的 ARIA ID](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-aria)。"
250
250
  },
251
251
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
252
252
  "message": "ARIA ID 不是独一无二的"
@@ -255,7 +255,7 @@
255
255
  "message": "ARIA ID 都是独一无二的"
256
256
  },
257
257
  "core/audits/accessibility/empty-heading.js | description": {
258
- "message": "如果标题元素未包含任何内容或包含无法读取的文本,屏幕阅读器用户将难以获取网页的结构信息。[详细了解标题](https://dequeuniversity.com/rules/axe/4.7/empty-heading)。"
258
+ "message": "如果标题元素未包含任何内容或包含无法读取的文本,屏幕阅读器用户将难以获取网页的结构信息。[详细了解标题](https://dequeuniversity.com/rules/axe/4.8/empty-heading)。"
259
259
  },
260
260
  "core/audits/accessibility/empty-heading.js | failureTitle": {
261
261
  "message": "标题元素未包含任何内容。"
@@ -264,7 +264,7 @@
264
264
  "message": "所有标题元素均包含内容。"
265
265
  },
266
266
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
267
- "message": "有多个标签的表单字段可能会被辅助技术(如屏幕阅读器)以令人困惑的方式播报出来,因为这些辅助技术可能会使用第一个标签或最后一个标签,也可能会使用所有标签。[了解如何使用表单标签](https://dequeuniversity.com/rules/axe/4.7/form-field-multiple-labels)。"
267
+ "message": "有多个标签的表单字段可能会被辅助技术(如屏幕阅读器)以令人困惑的方式播报出来,因为这些辅助技术可能会使用第一个标签或最后一个标签,也可能会使用所有标签。[了解如何使用表单标签](https://dequeuniversity.com/rules/axe/4.8/form-field-multiple-labels)。"
268
268
  },
269
269
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
270
270
  "message": "表单字段有多个标签"
@@ -273,7 +273,7 @@
273
273
  "message": "表单字段都没有多个标签"
274
274
  },
275
275
  "core/audits/accessibility/frame-title.js | description": {
276
- "message": "屏幕阅读器用户依靠框架标题来描述框架的内容。[详细了解框架标题](https://dequeuniversity.com/rules/axe/4.7/frame-title)。"
276
+ "message": "屏幕阅读器用户依靠框架标题来描述框架的内容。[详细了解框架标题](https://dequeuniversity.com/rules/axe/4.8/frame-title)。"
277
277
  },
278
278
  "core/audits/accessibility/frame-title.js | failureTitle": {
279
279
  "message": "`<frame>` 或 `<iframe>` 元素缺少标题"
@@ -282,7 +282,7 @@
282
282
  "message": "`<frame>` 或 `<iframe>` 元素有标题"
283
283
  },
284
284
  "core/audits/accessibility/heading-order.js | description": {
285
- "message": "未跳过任何等级且排序正确的标题会准确传达页面的语义结构,从而使得相应页面在使用辅助技术时更易于浏览和理解。[详细了解标题顺序](https://dequeuniversity.com/rules/axe/4.7/heading-order)。"
285
+ "message": "未跳过任何等级且排序正确的标题会准确传达页面的语义结构,从而使得相应页面在使用辅助技术时更易于浏览和理解。[详细了解标题顺序](https://dequeuniversity.com/rules/axe/4.8/heading-order)。"
286
286
  },
287
287
  "core/audits/accessibility/heading-order.js | failureTitle": {
288
288
  "message": "标题元素未按降序显示"
@@ -291,7 +291,7 @@
291
291
  "message": "标题元素按降序显示"
292
292
  },
293
293
  "core/audits/accessibility/html-has-lang.js | description": {
294
- "message": "如果页面未指定 `lang` 属性,屏幕阅读器便会假定该页面采用的是用户在设置屏幕阅读器时选择的默认语言。如果该页面实际上并未采用默认语言,屏幕阅读器可能无法正确读出该页面中的文字。[详细了解 `lang` 属性](https://dequeuniversity.com/rules/axe/4.7/html-has-lang)。"
294
+ "message": "如果页面未指定 `lang` 属性,屏幕阅读器便会假定该页面采用的是用户在设置屏幕阅读器时选择的默认语言。如果该页面实际上并未采用默认语言,屏幕阅读器可能无法正确读出该页面中的文字。[详细了解 `lang` 属性](https://dequeuniversity.com/rules/axe/4.8/html-has-lang)。"
295
295
  },
296
296
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
297
297
  "message": "`<html>` 元素缺少 `[lang]` 属性"
@@ -300,7 +300,7 @@
300
300
  "message": "`<html>` 元素包含 `[lang]` 属性"
301
301
  },
302
302
  "core/audits/accessibility/html-lang-valid.js | description": {
303
- "message": "指定有效的 [BCP 47 语言](https://www.w3.org/International/questions/qa-choosing-language-tags#question)有助于屏幕阅读器正确读出文字。[了解如何使用 `lang` 属性](https://dequeuniversity.com/rules/axe/4.7/html-lang-valid)。"
303
+ "message": "指定有效的 [BCP 47 语言](https://www.w3.org/International/questions/qa-choosing-language-tags#question)有助于屏幕阅读器正确读出文字。[了解如何使用 `lang` 属性](https://dequeuniversity.com/rules/axe/4.8/html-lang-valid)。"
304
304
  },
305
305
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
306
306
  "message": "`<html>` 元素的 `[lang]` 属性缺少有效值。"
@@ -309,7 +309,7 @@
309
309
  "message": "`<html>` 元素的 `[lang]` 属性具备有效值"
310
310
  },
311
311
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
312
- "message": "如果网页未指定一致的语言,屏幕阅读器可能无法正确读出相应网页上的文本。[详细了解 `lang` 属性](https://dequeuniversity.com/rules/axe/4.7/html-xml-lang-mismatch)。"
312
+ "message": "如果网页未指定一致的语言,屏幕阅读器可能无法正确读出相应网页上的文本。[详细了解 `lang` 属性](https://dequeuniversity.com/rules/axe/4.8/html-xml-lang-mismatch)。"
313
313
  },
314
314
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
315
315
  "message": "`<html>` 元素的 `[xml:lang]` 属性与 `[lang]` 属性使用了不同的基本语言。"
@@ -318,7 +318,7 @@
318
318
  "message": "`<html>` 元素的 `[xml:lang]` 属性与 `[lang]` 属性使用了相同的基本语言。"
319
319
  },
320
320
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
321
- "message": "指向相同目标位置的链接应具有相同的说明,这有助于用户了解链接的用途并决定是否要访问它。[详细了解相同链接](https://dequeuniversity.com/rules/axe/4.7/identical-links-same-purpose)。"
321
+ "message": "指向相同目标位置的链接应具有相同的说明,这有助于用户了解链接的用途并决定是否要访问它。[详细了解相同链接](https://dequeuniversity.com/rules/axe/4.8/identical-links-same-purpose)。"
322
322
  },
323
323
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
324
324
  "message": "相同链接的用途不一致。"
@@ -327,7 +327,7 @@
327
327
  "message": "相同链接的用途一致。"
328
328
  },
329
329
  "core/audits/accessibility/image-alt.js | description": {
330
- "message": "说明性元素应力求使用简短的描述性替代文字。未指定 alt 属性的装饰性元素可被忽略。[详细了解 `alt` 属性](https://dequeuniversity.com/rules/axe/4.7/image-alt)。"
330
+ "message": "说明性元素应力求使用简短的描述性替代文字。未指定 alt 属性的装饰性元素可被忽略。[详细了解 `alt` 属性](https://dequeuniversity.com/rules/axe/4.8/image-alt)。"
331
331
  },
332
332
  "core/audits/accessibility/image-alt.js | failureTitle": {
333
333
  "message": "图片元素缺少 `[alt]` 属性"
@@ -336,7 +336,7 @@
336
336
  "message": "图片元素具备 `[alt]` 属性"
337
337
  },
338
338
  "core/audits/accessibility/image-redundant-alt.js | description": {
339
- "message": "说明性元素应力求使用简短的描述性替代文本。如果替代文本与链接或图片旁边的文本完全相同,可能会让屏幕阅读器用户感到困惑,因为他们会听到两次同样的内容。[详细了解 `alt` 属性](https://dequeuniversity.com/rules/axe/4.7/image-redundant-alt)。"
339
+ "message": "说明性元素应力求使用简短的描述性替代文本。如果替代文本与链接或图片旁边的文本完全相同,可能会让屏幕阅读器用户感到困惑,因为他们会听到两次同样的内容。[详细了解 `alt` 属性](https://dequeuniversity.com/rules/axe/4.8/image-redundant-alt)。"
340
340
  },
341
341
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
342
342
  "message": "图片元素具有属于多余文本的 `[alt]` 属性。"
@@ -345,7 +345,7 @@
345
345
  "message": "图片元素没有属于多余文本的 `[alt]` 属性。"
346
346
  },
347
347
  "core/audits/accessibility/input-button-name.js | description": {
348
- "message": "向输入按钮添加可识别的无障碍文本可帮助屏幕阅读器用户了解输入按钮的用途。[详细了解输入按钮](https://dequeuniversity.com/rules/axe/4.7/input-button-name)。"
348
+ "message": "向输入按钮添加可识别的无障碍文本可帮助屏幕阅读器用户了解输入按钮的用途。[详细了解输入按钮](https://dequeuniversity.com/rules/axe/4.8/input-button-name)。"
349
349
  },
350
350
  "core/audits/accessibility/input-button-name.js | failureTitle": {
351
351
  "message": "输入按钮没有可识别的文本。"
@@ -354,7 +354,7 @@
354
354
  "message": "输入按钮具有可识别的文本。"
355
355
  },
356
356
  "core/audits/accessibility/input-image-alt.js | description": {
357
- "message": "将图片用作 `<input>` 按钮时,提供替代文字有助于屏幕阅读器用户了解该按钮的用途。[了解输入图片替代文字](https://dequeuniversity.com/rules/axe/4.7/input-image-alt)。"
357
+ "message": "将图片用作 `<input>` 按钮时,提供替代文字有助于屏幕阅读器用户了解该按钮的用途。[了解输入图片替代文字](https://dequeuniversity.com/rules/axe/4.8/input-image-alt)。"
358
358
  },
359
359
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
360
360
  "message": "`<input type=\"image\">` 元素无对应的 `[alt]` 文字"
@@ -363,7 +363,7 @@
363
363
  "message": "`<input type=\"image\">` 元素有对应的 `[alt]` 文字"
364
364
  },
365
365
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
366
- "message": "如果可见文本标签与无障碍名称不匹配,可能会让屏幕阅读器用户感到困惑。[详细了解无障碍名称](https://dequeuniversity.com/rules/axe/4.7/label-content-name-mismatch)。"
366
+ "message": "如果可见文本标签与无障碍名称不匹配,可能会让屏幕阅读器用户感到困惑。[详细了解无障碍名称](https://dequeuniversity.com/rules/axe/4.8/label-content-name-mismatch)。"
367
367
  },
368
368
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
369
369
  "message": "带有可见文本标签的元素没有匹配的无障碍名称。"
@@ -372,7 +372,7 @@
372
372
  "message": "带有可见文本标签的元素具有匹配的无障碍名称。"
373
373
  },
374
374
  "core/audits/accessibility/label.js | description": {
375
- "message": "标签可确保辅助技术(如屏幕阅读器)正确读出表单控件。[详细了解表单元素标签](https://dequeuniversity.com/rules/axe/4.7/label)。"
375
+ "message": "标签可确保辅助技术(如屏幕阅读器)正确读出表单控件。[详细了解表单元素标签](https://dequeuniversity.com/rules/axe/4.8/label)。"
376
376
  },
377
377
  "core/audits/accessibility/label.js | failureTitle": {
378
378
  "message": "表单元素不具备关联的标签"
@@ -381,7 +381,7 @@
381
381
  "message": "表单元素具有关联的标签"
382
382
  },
383
383
  "core/audits/accessibility/landmark-one-main.js | description": {
384
- "message": "主要位置标记有助于屏幕阅读器用户浏览网页。[详细了解位置标记](https://dequeuniversity.com/rules/axe/4.7/landmark-one-main)。"
384
+ "message": "主要位置标记有助于屏幕阅读器用户浏览网页。[详细了解位置标记](https://dequeuniversity.com/rules/axe/4.8/landmark-one-main)。"
385
385
  },
386
386
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
387
387
  "message": "文档缺少主要位置标记。"
@@ -390,7 +390,7 @@
390
390
  "message": "文档有一个主要位置标记。"
391
391
  },
392
392
  "core/audits/accessibility/link-in-text-block.js | description": {
393
- "message": "对许多用户而言,对比度低的文本都是难以阅读或无法阅读的。清晰可辨的链接文本可改善弱视用户的体验。[了解如何让链接容易辨识](https://dequeuniversity.com/rules/axe/4.7/link-in-text-block)。"
393
+ "message": "对许多用户而言,对比度低的文本都是难以阅读或无法阅读的。清晰可辨的链接文本可改善弱视用户的体验。[了解如何让链接容易辨识](https://dequeuniversity.com/rules/axe/4.8/link-in-text-block)。"
394
394
  },
395
395
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
396
396
  "message": "必须依赖颜色才能辨识链接。"
@@ -399,7 +399,7 @@
399
399
  "message": "无需依赖颜色即可辨识链接。"
400
400
  },
401
401
  "core/audits/accessibility/link-name.js | description": {
402
- "message": "请确保链接文字(以及用作链接的图片替代文字)可识别、独一无二且可聚焦,这样做会提升屏幕阅读器用户的导航体验。[了解如何使链接可供访问](https://dequeuniversity.com/rules/axe/4.7/link-name)。"
402
+ "message": "请确保链接文字(以及用作链接的图片替代文字)可识别、独一无二且可聚焦,这样做会提升屏幕阅读器用户的导航体验。[了解如何使链接可供访问](https://dequeuniversity.com/rules/axe/4.8/link-name)。"
403
403
  },
404
404
  "core/audits/accessibility/link-name.js | failureTitle": {
405
405
  "message": "链接缺少可识别的名称"
@@ -408,7 +408,7 @@
408
408
  "message": "链接具备可识别的名称"
409
409
  },
410
410
  "core/audits/accessibility/list.js | description": {
411
- "message": "屏幕阅读器会采用特定的方法来读出列表内容。确保列表结构正确有助于屏幕阅读器顺利读出相应内容。[详细了解适当的列表结构](https://dequeuniversity.com/rules/axe/4.7/list)。"
411
+ "message": "屏幕阅读器会采用特定的方法来读出列表内容。确保列表结构正确有助于屏幕阅读器顺利读出相应内容。[详细了解适当的列表结构](https://dequeuniversity.com/rules/axe/4.8/list)。"
412
412
  },
413
413
  "core/audits/accessibility/list.js | failureTitle": {
414
414
  "message": "列表并非只包含 `<li>` 元素和脚本支持元素(`<script>` 和 `<template>`)。"
@@ -417,7 +417,7 @@
417
417
  "message": "列表只包含 `<li>` 元素和脚本支持元素(`<script>` 和 `<template>`)。"
418
418
  },
419
419
  "core/audits/accessibility/listitem.js | description": {
420
- "message": "屏幕阅读器要求列表项 (`<li>`) 必须包含在父 `<ul>`、`<ol>` 或 `<menu>` 中,这样才能正确读出它们。[详细了解适当的列表结构](https://dequeuniversity.com/rules/axe/4.7/listitem)。"
420
+ "message": "屏幕阅读器要求列表项 (`<li>`) 必须包含在父 `<ul>`、`<ol>` 或 `<menu>` 中,这样才能正确读出它们。[详细了解适当的列表结构](https://dequeuniversity.com/rules/axe/4.8/listitem)。"
421
421
  },
422
422
  "core/audits/accessibility/listitem.js | failureTitle": {
423
423
  "message": "列表项 (`<li>`) 未包含在 `<ul>`、`<ol>` 或 `<menu>` 父元素中。"
@@ -426,7 +426,7 @@
426
426
  "message": "列表项 (`<li>`) 包含在 `<ul>`、`<ol>` 或 `<menu>` 父元素中"
427
427
  },
428
428
  "core/audits/accessibility/meta-refresh.js | description": {
429
- "message": "用户并不希望网页自动刷新,因为自动刷新会不断地将焦点移回到页面顶部。这可能会让用户感到沮丧或困惑。[详细了解刷新元标记](https://dequeuniversity.com/rules/axe/4.7/meta-refresh)。"
429
+ "message": "用户并不希望网页自动刷新,因为自动刷新会不断地将焦点移回到页面顶部。这可能会让用户感到沮丧或困惑。[详细了解刷新元标记](https://dequeuniversity.com/rules/axe/4.8/meta-refresh)。"
430
430
  },
431
431
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
432
432
  "message": "文档使用了 `<meta http-equiv=\"refresh\">`"
@@ -435,7 +435,7 @@
435
435
  "message": "文档未使用 `<meta http-equiv=\"refresh\">`"
436
436
  },
437
437
  "core/audits/accessibility/meta-viewport.js | description": {
438
- "message": "对于必须依靠放大屏幕才能清晰看到网页内容的弱视用户而言,停用缩放功能会给他们带来问题。[详细了解视口元标记](https://dequeuniversity.com/rules/axe/4.7/meta-viewport)。"
438
+ "message": "对于必须依靠放大屏幕才能清晰看到网页内容的弱视用户而言,停用缩放功能会给他们带来问题。[详细了解视口元标记](https://dequeuniversity.com/rules/axe/4.8/meta-viewport)。"
439
439
  },
440
440
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
441
441
  "message": "`<meta name=\"viewport\">` 元素中使用了 `[user-scalable=\"no\"]`,或者 `[maximum-scale]` 属性小于 5。"
@@ -444,7 +444,7 @@
444
444
  "message": "`[user-scalable=\"no\"]` 未用在 `<meta name=\"viewport\">` 元素中,并且 `[maximum-scale]` 属性不小于 5。"
445
445
  },
446
446
  "core/audits/accessibility/object-alt.js | description": {
447
- "message": "屏幕阅读器无法转换非文字内容。通过向 `<object>` 元素添加替代文字,可帮助屏幕阅读器将含义传达给用户。[详细了解 `object` 元素的替代文字](https://dequeuniversity.com/rules/axe/4.7/object-alt)。"
447
+ "message": "屏幕阅读器无法转换非文字内容。通过向 `<object>` 元素添加替代文字,可帮助屏幕阅读器将含义传达给用户。[详细了解 `object` 元素的替代文字](https://dequeuniversity.com/rules/axe/4.8/object-alt)。"
448
448
  },
449
449
  "core/audits/accessibility/object-alt.js | failureTitle": {
450
450
  "message": "`<object>` 元素无对应的替代文字"
@@ -453,7 +453,7 @@
453
453
  "message": "`<object>` 元素有对应的替代文字"
454
454
  },
455
455
  "core/audits/accessibility/select-name.js | description": {
456
- "message": "如果表单元素缺少有效标签,可能会给屏幕阅读器用户带来糟糕的体验。[详细了解 `select` 元素](https://dequeuniversity.com/rules/axe/4.7/select-name)。"
456
+ "message": "如果表单元素缺少有效标签,可能会给屏幕阅读器用户带来糟糕的体验。[详细了解 `select` 元素](https://dequeuniversity.com/rules/axe/4.8/select-name)。"
457
457
  },
458
458
  "core/audits/accessibility/select-name.js | failureTitle": {
459
459
  "message": "select 元素缺少关联的标签元素。"
@@ -462,7 +462,7 @@
462
462
  "message": "select 元素具有关联的标签元素。"
463
463
  },
464
464
  "core/audits/accessibility/skip-link.js | description": {
465
- "message": "添加跳转链接可帮助用户跳至主要内容以节省时间。[详细了解跳转链接](https://dequeuniversity.com/rules/axe/4.7/skip-link)。"
465
+ "message": "添加跳转链接可帮助用户跳至主要内容以节省时间。[详细了解跳转链接](https://dequeuniversity.com/rules/axe/4.8/skip-link)。"
466
466
  },
467
467
  "core/audits/accessibility/skip-link.js | failureTitle": {
468
468
  "message": "跳转链接无法聚焦。"
@@ -471,7 +471,7 @@
471
471
  "message": "跳转链接可聚焦。"
472
472
  },
473
473
  "core/audits/accessibility/tabindex.js | description": {
474
- "message": "值大于 0 意味着明确的导航顺序。尽管这在技术上可行,但往往会让依赖辅助技术的用户感到沮丧。[详细了解 `tabindex` 属性](https://dequeuniversity.com/rules/axe/4.7/tabindex)。"
474
+ "message": "值大于 0 意味着明确的导航顺序。尽管这在技术上可行,但往往会让依赖辅助技术的用户感到沮丧。[详细了解 `tabindex` 属性](https://dequeuniversity.com/rules/axe/4.8/tabindex)。"
475
475
  },
476
476
  "core/audits/accessibility/tabindex.js | failureTitle": {
477
477
  "message": "一些元素的 `[tabindex]` 值大于 0"
@@ -480,7 +480,7 @@
480
480
  "message": "所有元素的 `[tabindex]` 值都不大于 0"
481
481
  },
482
482
  "core/audits/accessibility/table-duplicate-name.js | description": {
483
- "message": "summary 属性应描述表格结构,而 `<caption>` 应含有屏幕上显示的标题。准确的表格标记对屏幕阅读器用户有帮助。[详细了解 summary 和 caption](https://dequeuniversity.com/rules/axe/4.7/table-duplicate-name)。"
483
+ "message": "summary 属性应描述表格结构,而 `<caption>` 应含有屏幕上显示的标题。准确的表格标记对屏幕阅读器用户有帮助。[详细了解 summary 和 caption](https://dequeuniversity.com/rules/axe/4.8/table-duplicate-name)。"
484
484
  },
485
485
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
486
486
  "message": "表格的 summary 属性和 `<caption>.` 具有相同的内容"
@@ -489,7 +489,7 @@
489
489
  "message": "相关表格的 summary 属性和 `<caption>` 具有不同的内容。"
490
490
  },
491
491
  "core/audits/accessibility/table-fake-caption.js | description": {
492
- "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请务必确保表格实际使用了 <caption> 元素(而非带有 `[colspan]` 属性的单元格),这可以提升屏幕阅读器用户的体验。[详细了解表格标题](https://dequeuniversity.com/rules/axe/4.7/table-fake-caption)。"
492
+ "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请务必确保表格实际使用了 <caption> 元素(而非带有 `[colspan]` 属性的单元格),这可以提升屏幕阅读器用户的体验。[详细了解表格标题](https://dequeuniversity.com/rules/axe/4.8/table-fake-caption)。"
493
493
  },
494
494
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
495
495
  "message": "表格未使用 `<caption>`(而是使用了带有 `[colspan]` 属性的单元格)来表示表格标题。"
@@ -498,7 +498,7 @@
498
498
  "message": "表格使用了 `<caption>`(而非带有 `[colspan]` 属性的单元格)来表示表格标题。"
499
499
  },
500
500
  "core/audits/accessibility/target-size.js | description": {
501
- "message": "如果触摸目标的尺寸和间距足够大,就能帮助难以精准触按小控件的用户激活相应目标。[详细了解触摸目标](https://dequeuniversity.com/rules/axe/4.7/target-size)。"
501
+ "message": "如果触摸目标的尺寸和间距足够大,就能帮助难以精准触按小控件的用户激活相应目标。[详细了解触摸目标](https://dequeuniversity.com/rules/axe/4.8/target-size)。"
502
502
  },
503
503
  "core/audits/accessibility/target-size.js | failureTitle": {
504
504
  "message": "触摸目标的尺寸或间距不足。"
@@ -507,7 +507,7 @@
507
507
  "message": "触摸目标的尺寸和间距足够大。"
508
508
  },
509
509
  "core/audits/accessibility/td-has-header.js | description": {
510
- "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请务必确保大型表格(宽度和高度至少为 3 个单元格)中的 `<td>` 元素具有关联的表格标头,这可以提升屏幕阅读器用户的体验。[详细了解表格标头](https://dequeuniversity.com/rules/axe/4.7/td-has-header)。"
510
+ "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请务必确保大型表格(宽度和高度至少为 3 个单元格)中的 `<td>` 元素具有关联的表格标头,这可以提升屏幕阅读器用户的体验。[详细了解表格标头](https://dequeuniversity.com/rules/axe/4.8/td-has-header)。"
511
511
  },
512
512
  "core/audits/accessibility/td-has-header.js | failureTitle": {
513
513
  "message": "大型 `<table>` 中的 `<td>` 元素没有表格标头。"
@@ -516,7 +516,7 @@
516
516
  "message": "大型 `<table>` 中的 `<td>` 元素具有一个或多个表格标头。"
517
517
  },
518
518
  "core/audits/accessibility/td-headers-attr.js | description": {
519
- "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请确保那些使用 `[headers]` 属性的 `<td>` 单元格仅引用同一个表格中的其他单元格,这样做可提升屏幕阅读器用户的体验。[详细了解 `headers` 属性](https://dequeuniversity.com/rules/axe/4.7/td-headers-attr)。"
519
+ "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。请确保那些使用 `[headers]` 属性的 `<td>` 单元格仅引用同一个表格中的其他单元格,这样做可提升屏幕阅读器用户的体验。[详细了解 `headers` 属性](https://dequeuniversity.com/rules/axe/4.8/td-headers-attr)。"
520
520
  },
521
521
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
522
522
  "message": "`<table>` 元素中使用 `[headers]` 属性的单元格引用了在同一表格中找不到的元素 `id`。"
@@ -525,7 +525,7 @@
525
525
  "message": "`<table>` 元素中使用 `[headers]` 属性的单元格引用的是同一表格中的单元格。"
526
526
  },
527
527
  "core/audits/accessibility/th-has-data-cells.js | description": {
528
- "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。确保表格标头始终引用特定一组单元格可以提升屏幕阅读器用户的体验。[详细了解表格标头](https://dequeuniversity.com/rules/axe/4.7/th-has-data-cells)。"
528
+ "message": "屏幕阅读器提供了更便于用户浏览表格内容的功能。确保表格标头始终引用特定一组单元格可以提升屏幕阅读器用户的体验。[详细了解表格标头](https://dequeuniversity.com/rules/axe/4.8/th-has-data-cells)。"
529
529
  },
530
530
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
531
531
  "message": "`<th>` 元素和 `[role=\"columnheader\"/\"rowheader\"]` 的元素缺少它们所描述的数据单元格。"
@@ -534,7 +534,7 @@
534
534
  "message": "`<th>` 元素和 `[role=\"columnheader\"/\"rowheader\"]` 的元素具备它们所描述的数据单元格。"
535
535
  },
536
536
  "core/audits/accessibility/valid-lang.js | description": {
537
- "message": "为元素指定有效的 [BCP 47 语言](https://www.w3.org/International/questions/qa-choosing-language-tags#question)有助于确保屏幕阅读器正确读出文字。[了解如何使用 `lang` 属性](https://dequeuniversity.com/rules/axe/4.7/valid-lang)。"
537
+ "message": "为元素指定有效的 [BCP 47 语言](https://www.w3.org/International/questions/qa-choosing-language-tags#question)有助于确保屏幕阅读器正确读出文字。[了解如何使用 `lang` 属性](https://dequeuniversity.com/rules/axe/4.8/valid-lang)。"
538
538
  },
539
539
  "core/audits/accessibility/valid-lang.js | failureTitle": {
540
540
  "message": "`[lang]` 属性缺少有效值"
@@ -543,7 +543,7 @@
543
543
  "message": "`[lang]` 属性的值有效"
544
544
  },
545
545
  "core/audits/accessibility/video-caption.js | description": {
546
- "message": "如果视频提供了字幕,失聪用户和听障用户便能更轻松地获取此视频中的信息。[详细了解视频字幕](https://dequeuniversity.com/rules/axe/4.7/video-caption)。"
546
+ "message": "如果视频提供了字幕,失聪用户和听障用户便能更轻松地获取此视频中的信息。[详细了解视频字幕](https://dequeuniversity.com/rules/axe/4.8/video-caption)。"
547
547
  },
548
548
  "core/audits/accessibility/video-caption.js | failureTitle": {
549
549
  "message": "`<video>` 元素缺少带 `[kind=\"captions\"]` 的 `<track>` 元素。"
@@ -774,7 +774,7 @@
774
774
  "message": "语法"
775
775
  },
776
776
  "core/audits/csp-xss.js | metaTagMessage": {
777
- "message": "该网页包含一个在 <meta> 标记中定义的 CSP。建议将 CSP 移至 HTTP 标头,或在 HTTP 标头中定义其他严格 CSP。"
777
+ "message": "该网页包含一个在 `<meta>` 标记中定义的 CSP。因此,我们建议您将 CSP 移至 HTTP 标头,或在 HTTP 标头中定义其他严格 CSP。"
778
778
  },
779
779
  "core/audits/csp-xss.js | noCsp": {
780
780
  "message": "找不到任何处于强制模式的 CSP"
@@ -1026,7 +1026,7 @@
1026
1026
  "message": "该网页是在无痕式窗口中加载的"
1027
1027
  },
1028
1028
  "core/audits/installable-manifest.js | manifest-display-not-supported": {
1029
- "message": "清单“display”属性必须是“standalone”、“fullscreen”或“minimal-ui”之一"
1029
+ "message": "清单 `display` 属性必须是 `standalone`、`fullscreen` 或 `minimal-ui`"
1030
1030
  },
1031
1031
  "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1032
1032
  "message": "清单包含“display_override”字段,因此第一个受支持的显示模式必须是“standalone”、“fullscreen”或“minimal-ui”之一"
@@ -1038,7 +1038,7 @@
1038
1038
  "message": "在提取清单期间,清单网址发生了更改。"
1039
1039
  },
1040
1040
  "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1041
- "message": "清单未包含“name”或“short_name”字段"
1041
+ "message": "清单未包含 `name` 或 `short_name` 字段"
1042
1042
  },
1043
1043
  "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1044
1044
  "message": "清单未包含合适的图标 - 必须提供不小于 {value0} 像素的 PNG、SVG 或 WebP 格式图标;必须设置 sizes 属性;如果设置了 purpose 属性,其中必须包含“any”。"
@@ -1856,6 +1856,9 @@
1856
1856
  "core/gather/gatherers/link-elements.js | headerParseWarning": {
1857
1857
  "message": "解析 `link` 标头 ({error}) 时出错:`{header}`"
1858
1858
  },
1859
+ "core/gather/timespan-runner.js | warningNavigationDetected": {
1860
+ "message": "在运行期间检测到网页导航。不建议使用时间跨度模式审核网页导航。使用导航模式审核网页导航可以实现更好的第三方归因和主线程检测。"
1861
+ },
1859
1862
  "core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
1860
1863
  "message": "只有通过 GET 请求进行加载的网页才能储存至往返缓存。"
1861
1864
  },
@@ -2208,25 +2211,25 @@
2208
2211
  "message": "使用 WebXR 的网页目前无法储存至往返缓存。"
2209
2212
  },
2210
2213
  "core/lib/csp-evaluator.js | allowlistFallback": {
2211
- "message": "建议您添加 https: 和 http: 网址架构(会被支持“strict-dynamic”的浏览器忽略),以便向后兼容旧版浏览器。"
2214
+ "message": "建议您添加 https: 和 http: 网址架构(会被支持 `'strict-dynamic'` 的浏览器忽略),以便向后兼容旧版浏览器。"
2212
2215
  },
2213
2216
  "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
2214
- "message": " CSP3 起,disown-opener 已被弃用。请改用 Cross-Origin-Opener-Policy 标头。"
2217
+ "message": " CSP3 开始,`disown-opener` 已被弃用。因此,请改用 Cross-Origin-Opener-Policy 标头。"
2215
2218
  },
2216
2219
  "core/lib/csp-evaluator.js | deprecatedReferrer": {
2217
- "message": " CSP2 起,referrer 已被弃用。请改用 Referrer-Policy 标头。"
2220
+ "message": " CSP2 开始,`referrer` 已被弃用。因此,请改用 Referrer-Policy 标头。"
2218
2221
  },
2219
2222
  "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
2220
- "message": " CSP2 起,reflected-xss 已被弃用。请改用 X-XSS-Protection 标头。"
2223
+ "message": " CSP2 开始,`reflected-xss` 已被弃用。因此,请改用 X-XSS-Protection 标头。"
2221
2224
  },
2222
2225
  "core/lib/csp-evaluator.js | missingBaseUri": {
2223
- "message": "缺少 base-uri 意味着允许使用注入的 <base> 标记将所有相对网址(例如脚本)的基准网址设为一个受攻击者控制的网域。建议您将 base-uri 设为“none”或“self”。"
2226
+ "message": "如果缺少 `base-uri`,将为注入的 `<base>` 标记提供可乘之机,让它们能够将所有相对网址(例如脚本)的基础网址设置为受攻击者控制的网域。因此,我们建议您将 `base-uri` 设置为 `'none'` 或 `'self'`。"
2224
2227
  },
2225
2228
  "core/lib/csp-evaluator.js | missingObjectSrc": {
2226
- "message": "如果缺少 object-src,便无法防止不良之徒注入会执行不安全脚本的插件。建议您将 object-src 设为“none”(如果可以的话)。"
2229
+ "message": "如果缺少 `object-src`,将为注入可执行不安全脚本的插件提供可乘之机。因此,我们建议您将 `object-src` 设置为 `'none'`(如果可以的话)。"
2227
2230
  },
2228
2231
  "core/lib/csp-evaluator.js | missingScriptSrc": {
2229
- "message": "缺少 script-src 指令。这意味着允许执行不安全的脚本。"
2232
+ "message": "缺少 `script-src` 指令。这可为执行不安全脚本提供可乘之机。"
2230
2233
  },
2231
2234
  "core/lib/csp-evaluator.js | missingSemicolon": {
2232
2235
  "message": "您忘了要使用英文分号吗?{keyword}似乎是一个指令,而非关键字。"
@@ -2244,13 +2247,13 @@
2244
2247
  "message": "请避免在这条指令中仅仅使用通配符 ({keyword})。如果仅仅使用通配符,便无法防止脚本来自不安全的网域。"
2245
2248
  },
2246
2249
  "core/lib/csp-evaluator.js | reportToOnly": {
2247
- "message": "报告目的地只能通过 report-to 指令进行配置。此指令仅适用于基于 Chromium 的浏览器,因此我们建议您同时也使用 report-uri 指令。"
2250
+ "message": "报告目的地只能通过 report-to 指令进行配置。此指令仅适用于基于 Chromium 的浏览器,因此我们建议您一并使用 `report-uri` 指令。"
2248
2251
  },
2249
2252
  "core/lib/csp-evaluator.js | reportingDestinationMissing": {
2250
2253
  "message": "任何 CSP 都未配置报告目的地。这会导致系统很难持续维护 CSP 以及监控故障。"
2251
2254
  },
2252
2255
  "core/lib/csp-evaluator.js | strictDynamic": {
2253
- "message": "主机许可名单经常会被绕过。建议您改用 CSP nonces 或 hashes(以及“strict-dynamic”,若有必要)。"
2256
+ "message": "主机许可名单经常可被绕过。因此,我们建议您改用 CSP nonces 或 hashes(以及 `'strict-dynamic'`,若有必要的话)。"
2254
2257
  },
2255
2258
  "core/lib/csp-evaluator.js | unknownDirective": {
2256
2259
  "message": "CSP 指令不明。"
@@ -2259,10 +2262,10 @@
2259
2262
  "message": "{keyword}似乎是无效关键字。"
2260
2263
  },
2261
2264
  "core/lib/csp-evaluator.js | unsafeInline": {
2262
- "message": "unsafe-inline”允许执行不安全的页内脚本和事件处理脚本。建议您使用 CSP nonces 或 hashes 来逐一允许各个脚本。"
2265
+ "message": "如果使用 `'unsafe-inline'`,将为执行不安全的页内脚本和事件处理脚本提供可乘之机。因此,我们建议您使用 CSP nonces 或 hashes 来逐一允许各个脚本。"
2263
2266
  },
2264
2267
  "core/lib/csp-evaluator.js | unsafeInlineFallback": {
2265
- "message": "建议您添加“unsafe-inline”(会被支持 nonces/hashes 的浏览器忽略),以便向后兼容旧版浏览器。"
2268
+ "message": "建议您添加 `'unsafe-inline'`(会被支持 nonces/hashes 的浏览器忽略),以便向后兼容旧版浏览器。"
2266
2269
  },
2267
2270
  "core/lib/deprecation-description.js | feature": {
2268
2271
  "message": "如需了解详情,请参阅功能状态页面。"