@lhci/viewer 0.15.1 → 0.16.1

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 (61) hide show
  1. package/dist/chunks/entry-DHLFDJOJ.css +17 -0
  2. package/dist/chunks/entry-DHLFDJOJ.css.map +7 -0
  3. package/dist/chunks/entry-KSKAOE6M.js +22 -0
  4. package/dist/chunks/entry-KSKAOE6M.js.map +7 -0
  5. package/dist/index.html +5 -5
  6. package/dist/locales/ar-XB.json +3797 -0
  7. package/dist/locales/ar.json +3797 -0
  8. package/dist/locales/bg.json +3797 -0
  9. package/dist/locales/ca.json +3797 -0
  10. package/dist/locales/cs.json +3797 -0
  11. package/dist/locales/da.json +3797 -0
  12. package/dist/locales/de.json +3797 -0
  13. package/dist/locales/el.json +3797 -0
  14. package/dist/locales/en-GB.json +3797 -0
  15. package/dist/locales/en-US.json +3815 -0
  16. package/dist/locales/en-XA.json +2747 -0
  17. package/dist/locales/en-XL.json +3815 -0
  18. package/dist/locales/es-419.json +3797 -0
  19. package/dist/locales/es.json +3797 -0
  20. package/dist/locales/fi.json +3797 -0
  21. package/dist/locales/fil.json +3797 -0
  22. package/dist/locales/fr.json +3797 -0
  23. package/dist/locales/he.json +3794 -0
  24. package/dist/locales/hi.json +3797 -0
  25. package/dist/locales/hr.json +3797 -0
  26. package/dist/locales/hu.json +3797 -0
  27. package/dist/locales/id.json +3797 -0
  28. package/dist/locales/it.json +3797 -0
  29. package/dist/locales/ja.json +3797 -0
  30. package/dist/locales/ko.json +3797 -0
  31. package/dist/locales/lt.json +3797 -0
  32. package/dist/locales/lv.json +3797 -0
  33. package/dist/locales/nl.json +3797 -0
  34. package/dist/locales/no.json +3797 -0
  35. package/dist/locales/pl.json +3797 -0
  36. package/dist/locales/pt-PT.json +3797 -0
  37. package/dist/locales/pt.json +3797 -0
  38. package/dist/locales/ro.json +3797 -0
  39. package/dist/locales/ru.json +3794 -0
  40. package/dist/locales/sk.json +3797 -0
  41. package/dist/locales/sl.json +3797 -0
  42. package/dist/locales/sr-Latn.json +3797 -0
  43. package/dist/locales/sr.json +3797 -0
  44. package/dist/locales/sv.json +3797 -0
  45. package/dist/locales/ta.json +3794 -0
  46. package/dist/locales/te.json +3797 -0
  47. package/dist/locales/th.json +3797 -0
  48. package/dist/locales/tr.json +3797 -0
  49. package/dist/locales/uk.json +3797 -0
  50. package/dist/locales/vi.json +3797 -0
  51. package/dist/locales/zh-HK.json +3797 -0
  52. package/dist/locales/zh-TW.json +3797 -0
  53. package/dist/locales/zh.json +3797 -0
  54. package/package.json +12 -6
  55. package/src/ui/components/toast.jsx +1 -1
  56. package/src/ui/routes/comparison/comparison.css +3 -2
  57. package/src/ui/routes/comparison/comparison.jsx +39 -14
  58. package/dist/chunks/entry-JMR57VBF.js +0 -15
  59. package/dist/chunks/entry-JMR57VBF.js.map +0 -7
  60. package/dist/chunks/entry-W3IW5PUA.css +0 -12
  61. package/dist/chunks/entry-W3IW5PUA.css.map +0 -7
@@ -0,0 +1,3797 @@
1
+ {
2
+ "core/audits/accessibility/accesskeys.js | description": {
3
+ "message": "‏‮Access‬‏ ‏‮keys‬‏ ‏‮let‬‏ ‏‮users‬‏ ‏‮quickly‬‏ ‏‮focus‬‏ ‏‮a‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮For‬‏ ‏‮proper‬‏ ‏‮navigation‬‏, ‏‮each‬‏ ‏‮access‬‏ ‏‮key‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮access‬‏ ‏‮keys‬‏](https://dequeuniversity.com/rules/axe/4.13/accesskeys)."
4
+ },
5
+ "core/audits/accessibility/accesskeys.js | failureTitle": {
6
+ "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
7
+ },
8
+ "core/audits/accessibility/accesskeys.js | title": {
9
+ "message": "`[accesskey]` ‏‮values‬‏ ‏‮are‬‏ ‏‮unique‬‏"
10
+ },
11
+ "core/audits/accessibility/aria-allowed-attr.js | description": {
12
+ "message": "‏‮Each‬‏ ‏‮ARIA‬‏ `role` ‏‮supports‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮subset‬‏ ‏‮of‬‏ `aria-*` ‏‮attributes‬‏. ‏‮Mismatching‬‏ ‏‮these‬‏ ‏‮invalidates‬‏ ‏‮the‬‏ `aria-*` ‏‮attributes‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮match‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-allowed-attr)."
13
+ },
14
+ "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
16
+ },
17
+ "core/audits/accessibility/aria-allowed-attr.js | title": {
18
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮match‬‏ ‏‮their‬‏ ‏‮roles‬‏"
19
+ },
20
+ "core/audits/accessibility/aria-allowed-role.js | description": {
21
+ "message": "‏‮Many‬‏ ‏‮HTML‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮assigned‬‏ ‏‮certain‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏. ‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮can‬‏ ‏‮interfere‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-allowed-role)."
22
+ },
23
+ "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
+ "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮on‬‏ ‏‮incompatible‬‏ ‏‮elements‬‏"
25
+ },
26
+ "core/audits/accessibility/aria-allowed-role.js | title": {
27
+ "message": "‏‮Uses‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮only‬‏ ‏‮on‬‏ ‏‮compatible‬‏ ‏‮elements‬‏"
28
+ },
29
+ "core/audits/accessibility/aria-command-name.js | description": {
30
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮command‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-command-name)."
31
+ },
32
+ "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
+ "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
34
+ },
35
+ "core/audits/accessibility/aria-command-name.js | title": {
36
+ "message": "`button`, `link`, ‏‮and‬‏ `menuitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
37
+ },
38
+ "core/audits/accessibility/aria-conditional-attr.js | description": {
39
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮only‬‏ ‏‮allowed‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮under‬‏ ‏‮certain‬‏ ‏‮conditions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮conditional‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-conditional-attr)."
40
+ },
41
+ "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
42
+ "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
43
+ },
44
+ "core/audits/accessibility/aria-conditional-attr.js | title": {
45
+ "message": "‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮are‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮specified‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮role‬‏"
46
+ },
47
+ "core/audits/accessibility/aria-deprecated-role.js | description": {
48
+ "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮processed‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technology‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-deprecated-role)."
49
+ },
50
+ "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
51
+ "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮used‬‏"
52
+ },
53
+ "core/audits/accessibility/aria-deprecated-role.js | title": {
54
+ "message": "‏‮Deprecated‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮were‬‏ ‏‮not‬‏ ‏‮used‬‏"
55
+ },
56
+ "core/audits/accessibility/aria-dialog-name.js | description": {
57
+ "message": "‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮accessible‬‏ ‏‮names‬‏ ‏‮may‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮discerning‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮elements‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮ARIA‬‏ ‏‮dialog‬‏ ‏‮elements‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-dialog-name)."
58
+ },
59
+ "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
60
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
61
+ },
62
+ "core/audits/accessibility/aria-dialog-name.js | title": {
63
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"dialog\"` ‏‮or‬‏ `role=\"alertdialog\"` ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
64
+ },
65
+ "core/audits/accessibility/aria-hidden-body.js | description": {
66
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮work‬‏ ‏‮inconsistently‬‏ ‏‮when‬‏ `aria-hidden=\"true\"` ‏‮is‬‏ ‏‮set‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮the‬‏ ‏‮document‬‏ ‏‮body‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-hidden-body)."
67
+ },
68
+ "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
69
+ "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
70
+ },
71
+ "core/audits/accessibility/aria-hidden-body.js | title": {
72
+ "message": "`[aria-hidden=\"true\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮present‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮document‬‏ `<body>`"
73
+ },
74
+ "core/audits/accessibility/aria-hidden-focus.js | description": {
75
+ "message": "‏‮Focusable‬‏ ‏‮descendents‬‏ ‏‮within‬‏ ‏‮an‬‏ `[aria-hidden=\"true\"]` ‏‮element‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮interactive‬‏ ‏‮elements‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ `aria-hidden` ‏‮affects‬‏ ‏‮focusable‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-hidden-focus)."
76
+ },
77
+ "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
78
+ "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
79
+ },
80
+ "core/audits/accessibility/aria-hidden-focus.js | title": {
81
+ "message": "`[aria-hidden=\"true\"]` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏"
82
+ },
83
+ "core/audits/accessibility/aria-input-field-name.js | description": {
84
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮field‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-input-field-name)."
85
+ },
86
+ "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
87
+ "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
88
+ },
89
+ "core/audits/accessibility/aria-input-field-name.js | title": {
90
+ "message": "‏‮ARIA‬‏ ‏‮input‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
91
+ },
92
+ "core/audits/accessibility/aria-meter-name.js | description": {
93
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮meter‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `meter` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-meter-name)."
94
+ },
95
+ "core/audits/accessibility/aria-meter-name.js | failureTitle": {
96
+ "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
97
+ },
98
+ "core/audits/accessibility/aria-meter-name.js | title": {
99
+ "message": "‏‮ARIA‬‏ `meter` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
100
+ },
101
+ "core/audits/accessibility/aria-progressbar-name.js | description": {
102
+ "message": "‏‮When‬‏ ‏‮a‬‏ `progressbar` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮label‬‏ `progressbar` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-progressbar-name)."
103
+ },
104
+ "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
105
+ "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
106
+ },
107
+ "core/audits/accessibility/aria-progressbar-name.js | title": {
108
+ "message": "‏‮ARIA‬‏ `progressbar` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
109
+ },
110
+ "core/audits/accessibility/aria-prohibited-attr.js | description": {
111
+ "message": "‏‮Using‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮in‬‏ ‏‮roles‬‏ ‏‮where‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮prohibited‬‏ ‏‮can‬‏ ‏‮mean‬‏ ‏‮that‬‏ ‏‮important‬‏ ‏‮information‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮communicated‬‏ ‏‮to‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-prohibited-attr)."
112
+ },
113
+ "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
114
+ "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮prohibited‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
115
+ },
116
+ "core/audits/accessibility/aria-prohibited-attr.js | title": {
117
+ "message": "‏‮Elements‬‏ ‏‮use‬‏ ‏‮only‬‏ ‏‮permitted‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏"
118
+ },
119
+ "core/audits/accessibility/aria-required-attr.js | description": {
120
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮have‬‏ ‏‮required‬‏ ‏‮attributes‬‏ ‏‮that‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮to‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-required-attr)."
121
+ },
122
+ "core/audits/accessibility/aria-required-attr.js | failureTitle": {
123
+ "message": "`[role]`‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
124
+ },
125
+ "core/audits/accessibility/aria-required-attr.js | title": {
126
+ "message": "`[role]`‏‮s‬‏ ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ `[aria-*]` ‏‮attributes‬‏"
127
+ },
128
+ "core/audits/accessibility/aria-required-children.js | description": {
129
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮specific‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮children‬‏ ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-required-children)."
130
+ },
131
+ "core/audits/accessibility/aria-required-children.js | failureTitle": {
132
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮are‬‏ ‏‮missing‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮those‬‏ ‏‮required‬‏ ‏‮children‬‏."
133
+ },
134
+ "core/audits/accessibility/aria-required-children.js | title": {
135
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ `[role]` ‏‮that‬‏ ‏‮require‬‏ ‏‮children‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮specific‬‏ `[role]` ‏‮have‬‏ ‏‮all‬‏ ‏‮required‬‏ ‏‮children‬‏."
136
+ },
137
+ "core/audits/accessibility/aria-required-parent.js | description": {
138
+ "message": "‏‮Some‬‏ ‏‮ARIA‬‏ ‏‮child‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮specific‬‏ ‏‮parent‬‏ ‏‮roles‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮and‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-required-parent)."
139
+ },
140
+ "core/audits/accessibility/aria-required-parent.js | failureTitle": {
141
+ "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
142
+ },
143
+ "core/audits/accessibility/aria-required-parent.js | title": {
144
+ "message": "`[role]`‏‮s‬‏ ‏‮are‬‏ ‏‮contained‬‏ ‏‮by‬‏ ‏‮their‬‏ ‏‮required‬‏ ‏‮parent‬‏ ‏‮element‬‏"
145
+ },
146
+ "core/audits/accessibility/aria-roles.js | description": {
147
+ "message": "‏‮ARIA‬‏ ‏‮roles‬‏ ‏‮must‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮their‬‏ ‏‮intended‬‏ ‏‮accessibility‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮roles‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-roles)."
148
+ },
149
+ "core/audits/accessibility/aria-roles.js | failureTitle": {
150
+ "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏"
151
+ },
152
+ "core/audits/accessibility/aria-roles.js | title": {
153
+ "message": "`[role]` ‏‮values‬‏ ‏‮are‬‏ ‏‮valid‬‏"
154
+ },
155
+ "core/audits/accessibility/aria-text.js | description": {
156
+ "message": "‏‮Adding‬‏ `role=text` ‏‮around‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮node‬‏ ‏‮split‬‏ ‏‮by‬‏ ‏‮markup‬‏ ‏‮enables‬‏ ‏‮VoiceOver‬‏ ‏‮to‬‏ ‏‮treat‬‏ ‏‮it‬‏ ‏‮as‬‏ ‏‮one‬‏ ‏‮phrase‬‏, ‏‮but‬‏ ‏‮the‬‏ ‏‮element‬‏'‏‮s‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮announced‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-text)."
157
+ },
158
+ "core/audits/accessibility/aria-text.js | failureTitle": {
159
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
160
+ },
161
+ "core/audits/accessibility/aria-text.js | title": {
162
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮the‬‏ `role=text` ‏‮attribute‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮focusable‬‏ ‏‮descendents‬‏."
163
+ },
164
+ "core/audits/accessibility/aria-toggle-field-name.js | description": {
165
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮toggle‬‏ ‏‮field‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮toggle‬‏ ‏‮fields‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-toggle-field-name)."
166
+ },
167
+ "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
168
+ "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
169
+ },
170
+ "core/audits/accessibility/aria-toggle-field-name.js | title": {
171
+ "message": "‏‮ARIA‬‏ ‏‮toggle‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
172
+ },
173
+ "core/audits/accessibility/aria-tooltip-name.js | description": {
174
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮name‬‏ `tooltip` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-tooltip-name)."
175
+ },
176
+ "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
177
+ "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
178
+ },
179
+ "core/audits/accessibility/aria-tooltip-name.js | title": {
180
+ "message": "‏‮ARIA‬‏ `tooltip` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
181
+ },
182
+ "core/audits/accessibility/aria-treeitem-name.js | description": {
183
+ "message": "‏‮When‬‏ ‏‮a‬‏ `treeitem` ‏‮element‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮generic‬‏ ‏‮name‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮labeling‬‏ `treeitem` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-treeitem-name)."
184
+ },
185
+ "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
186
+ "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
187
+ },
188
+ "core/audits/accessibility/aria-treeitem-name.js | title": {
189
+ "message": "‏‮ARIA‬‏ `treeitem` ‏‮elements‬‏ ‏‮have‬‏ ‏‮accessible‬‏ ‏‮names‬‏"
190
+ },
191
+ "core/audits/accessibility/aria-valid-attr-value.js | description": {
192
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮values‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮values‬‏ ‏‮for‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-valid-attr-value)."
193
+ },
194
+ "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
195
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
196
+ },
197
+ "core/audits/accessibility/aria-valid-attr-value.js | title": {
198
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮valid‬‏ ‏‮values‬‏"
199
+ },
200
+ "core/audits/accessibility/aria-valid-attr.js | description": {
201
+ "message": "‏‮Assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏, ‏‮can‬‏'‏‮t‬‏ ‏‮interpret‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮with‬‏ ‏‮invalid‬‏ ‏‮names‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏](https://dequeuniversity.com/rules/axe/4.13/aria-valid-attr)."
202
+ },
203
+ "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
204
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮valid‬‏ ‏‮or‬‏ ‏‮misspelled‬‏"
205
+ },
206
+ "core/audits/accessibility/aria-valid-attr.js | title": {
207
+ "message": "`[aria-*]` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮valid‬‏ ‏‮and‬‏ ‏‮not‬‏ ‏‮misspelled‬‏"
208
+ },
209
+ "core/audits/accessibility/autocomplete-valid.js | description": {
210
+ "message": "‏‮The‬‏ `autocomplete` ‏‮attribute‬‏ ‏‮values‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮valid‬‏ ‏‮and‬‏ ‏‮correctly‬‏ ‏‮applied‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮to‬‏ ‏‮function‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮valid‬‏ ‏‮autocomplete‬‏ ‏‮values‬‏](https://dequeuniversity.com/rules/axe/4.13/autocomplete-valid)."
211
+ },
212
+ "core/audits/accessibility/autocomplete-valid.js | failureTitle": {
213
+ "message": "`autocomplete` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮correctly‬‏"
214
+ },
215
+ "core/audits/accessibility/autocomplete-valid.js | title": {
216
+ "message": "`autocomplete` ‏‮attributes‬‏ ‏‮are‬‏ ‏‮used‬‏ ‏‮correctly‬‏"
217
+ },
218
+ "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
219
+ "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
220
+ },
221
+ "core/audits/accessibility/button-name.js | description": {
222
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮button‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮it‬‏ ‏‮as‬‏ \"‏‮button‬‏\", ‏‮making‬‏ ‏‮it‬‏ ‏‮unusable‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮buttons‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.13/button-name)."
223
+ },
224
+ "core/audits/accessibility/button-name.js | failureTitle": {
225
+ "message": "‏‮Buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
226
+ },
227
+ "core/audits/accessibility/button-name.js | title": {
228
+ "message": "‏‮Buttons‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮name‬‏"
229
+ },
230
+ "core/audits/accessibility/bypass.js | description": {
231
+ "message": "‏‮Adding‬‏ ‏‮ways‬‏ ‏‮to‬‏ ‏‮bypass‬‏ ‏‮repetitive‬‏ ‏‮content‬‏ ‏‮lets‬‏ ‏‮keyboard‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮more‬‏ ‏‮efficiently‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮bypass‬‏ ‏‮blocks‬‏](https://dequeuniversity.com/rules/axe/4.13/bypass)."
232
+ },
233
+ "core/audits/accessibility/bypass.js | failureTitle": {
234
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
235
+ },
236
+ "core/audits/accessibility/bypass.js | title": {
237
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮heading‬‏, ‏‮skip‬‏ ‏‮link‬‏, ‏‮or‬‏ ‏‮landmark‬‏ ‏‮region‬‏"
238
+ },
239
+ "core/audits/accessibility/color-contrast.js | description": {
240
+ "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮sufficient‬‏ ‏‮color‬‏ ‏‮contrast‬‏](https://dequeuniversity.com/rules/axe/4.13/color-contrast)."
241
+ },
242
+ "core/audits/accessibility/color-contrast.js | failureTitle": {
243
+ "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏."
244
+ },
245
+ "core/audits/accessibility/color-contrast.js | title": {
246
+ "message": "‏‮Background‬‏ ‏‮and‬‏ ‏‮foreground‬‏ ‏‮colors‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮sufficient‬‏ ‏‮contrast‬‏ ‏‮ratio‬‏"
247
+ },
248
+ "core/audits/accessibility/definition-list.js | description": {
249
+ "message": "‏‮When‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮properly‬‏ ‏‮marked‬‏ ‏‮up‬‏, ‏‮screen‬‏ ‏‮readers‬‏ ‏‮may‬‏ ‏‮produce‬‏ ‏‮confusing‬‏ ‏‮or‬‏ ‏‮inaccurate‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.13/definition-list)."
250
+ },
251
+ "core/audits/accessibility/definition-list.js | failureTitle": {
252
+ "message": "`<dl>`'‏‮s‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
253
+ },
254
+ "core/audits/accessibility/definition-list.js | title": {
255
+ "message": "`<dl>`'‏‮s‬‏ ‏‮contain‬‏ ‏‮only‬‏ ‏‮properly‬‏-‏‮ordered‬‏ `<dt>` ‏‮and‬‏ `<dd>` ‏‮groups‬‏, `<script>`, `<template>` ‏‮or‬‏ `<div>` ‏‮elements‬‏."
256
+ },
257
+ "core/audits/accessibility/dlitem.js | description": {
258
+ "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<dt>` ‏‮and‬‏ `<dd>`) ‏‮must‬‏ ‏‮be‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<dl>` ‏‮element‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮can‬‏ ‏‮properly‬‏ ‏‮announce‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮structure‬‏ ‏‮definition‬‏ ‏‮lists‬‏ ‏‮correctly‬‏](https://dequeuniversity.com/rules/axe/4.13/dlitem)."
259
+ },
260
+ "core/audits/accessibility/dlitem.js | failureTitle": {
261
+ "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
262
+ },
263
+ "core/audits/accessibility/dlitem.js | title": {
264
+ "message": "‏‮Definition‬‏ ‏‮list‬‏ ‏‮items‬‏ ‏‮are‬‏ ‏‮wrapped‬‏ ‏‮in‬‏ `<dl>` ‏‮elements‬‏"
265
+ },
266
+ "core/audits/accessibility/document-title.js | description": {
267
+ "message": "‏‮The‬‏ ‏‮title‬‏ ‏‮gives‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮an‬‏ ‏‮overview‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮and‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮it‬‏ ‏‮heavily‬‏ ‏‮to‬‏ ‏‮determine‬‏ ‏‮if‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮relevant‬‏ ‏‮to‬‏ ‏‮their‬‏ ‏‮search‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮document‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.13/document-title)."
268
+ },
269
+ "core/audits/accessibility/document-title.js | failureTitle": {
270
+ "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
271
+ },
272
+ "core/audits/accessibility/document-title.js | title": {
273
+ "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ `<title>` ‏‮element‬‏"
274
+ },
275
+ "core/audits/accessibility/duplicate-id-aria.js | description": {
276
+ "message": "‏‮The‬‏ ‏‮value‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮ARIA‬‏ ‏‮ID‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮other‬‏ ‏‮instances‬‏ ‏‮from‬‏ ‏‮being‬‏ ‏‮overlooked‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮fix‬‏ ‏‮duplicate‬‏ ‏‮ARIA‬‏ ‏‮IDs‬‏](https://dequeuniversity.com/rules/axe/4.13/duplicate-id-aria)."
277
+ },
278
+ "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
279
+ "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮unique‬‏"
280
+ },
281
+ "core/audits/accessibility/duplicate-id-aria.js | title": {
282
+ "message": "‏‮ARIA‬‏ ‏‮IDs‬‏ ‏‮are‬‏ ‏‮unique‬‏"
283
+ },
284
+ "core/audits/accessibility/empty-heading.js | description": {
285
+ "message": "‏‮A‬‏ ‏‮heading‬‏ ‏‮with‬‏ ‏‮no‬‏ ‏‮content‬‏ ‏‮or‬‏ ‏‮inaccessible‬‏ ‏‮text‬‏ ‏‮prevent‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮accessing‬‏ ‏‮information‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮structure‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮headings‬‏](https://dequeuniversity.com/rules/axe/4.13/empty-heading)."
286
+ },
287
+ "core/audits/accessibility/empty-heading.js | failureTitle": {
288
+ "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮content‬‏."
289
+ },
290
+ "core/audits/accessibility/empty-heading.js | title": {
291
+ "message": "‏‮All‬‏ ‏‮heading‬‏ ‏‮elements‬‏ ‏‮contain‬‏ ‏‮content‬‏."
292
+ },
293
+ "core/audits/accessibility/form-field-multiple-labels.js | description": {
294
+ "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮with‬‏ ‏‮multiple‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮confusingly‬‏ ‏‮announced‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏ ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮which‬‏ ‏‮use‬‏ ‏‮either‬‏ ‏‮the‬‏ ‏‮first‬‏, ‏‮the‬‏ ‏‮last‬‏, ‏‮or‬‏ ‏‮all‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮labels‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮form‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.13/form-field-multiple-labels)."
295
+ },
296
+ "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
297
+ "message": "‏‮Form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
298
+ },
299
+ "core/audits/accessibility/form-field-multiple-labels.js | title": {
300
+ "message": "‏‮No‬‏ ‏‮form‬‏ ‏‮fields‬‏ ‏‮have‬‏ ‏‮multiple‬‏ ‏‮labels‬‏"
301
+ },
302
+ "core/audits/accessibility/frame-title.js | description": {
303
+ "message": "‏‮Screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮frame‬‏ ‏‮titles‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮frames‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮frame‬‏ ‏‮titles‬‏](https://dequeuniversity.com/rules/axe/4.13/frame-title)."
304
+ },
305
+ "core/audits/accessibility/frame-title.js | failureTitle": {
306
+ "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
307
+ },
308
+ "core/audits/accessibility/frame-title.js | title": {
309
+ "message": "`<frame>` ‏‮or‬‏ `<iframe>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮title‬‏"
310
+ },
311
+ "core/audits/accessibility/heading-order.js | description": {
312
+ "message": "‏‮Properly‬‏ ‏‮ordered‬‏ ‏‮headings‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮skip‬‏ ‏‮levels‬‏ ‏‮convey‬‏ ‏‮the‬‏ ‏‮semantic‬‏ ‏‮structure‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮making‬‏ ‏‮it‬‏ ‏‮easier‬‏ ‏‮to‬‏ ‏‮navigate‬‏ ‏‮and‬‏ ‏‮understand‬‏ ‏‮when‬‏ ‏‮using‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮heading‬‏ ‏‮order‬‏](https://dequeuniversity.com/rules/axe/4.13/heading-order)."
313
+ },
314
+ "core/audits/accessibility/heading-order.js | failureTitle": {
315
+ "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
316
+ },
317
+ "core/audits/accessibility/heading-order.js | title": {
318
+ "message": "‏‮Heading‬‏ ‏‮elements‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮sequentially‬‏-‏‮descending‬‏ ‏‮order‬‏"
319
+ },
320
+ "core/audits/accessibility/html-has-lang.js | description": {
321
+ "message": "‏‮If‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮specify‬‏ ‏‮a‬‏ `lang` ‏‮attribute‬‏, ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮assumes‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮user‬‏ ‏‮chose‬‏ ‏‮when‬‏ ‏‮setting‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮isn‬‏'‏‮t‬‏ ‏‮actually‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮default‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/html-has-lang)."
322
+ },
323
+ "core/audits/accessibility/html-has-lang.js | failureTitle": {
324
+ "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
325
+ },
326
+ "core/audits/accessibility/html-has-lang.js | title": {
327
+ "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[lang]` ‏‮attribute‬‏"
328
+ },
329
+ "core/audits/accessibility/html-lang-valid.js | description": {
330
+ "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮announce‬‏ ‏‮text‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/html-lang-valid)."
331
+ },
332
+ "core/audits/accessibility/html-lang-valid.js | failureTitle": {
333
+ "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏."
334
+ },
335
+ "core/audits/accessibility/html-lang-valid.js | title": {
336
+ "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮its‬‏ `[lang]` ‏‮attribute‬‏"
337
+ },
338
+ "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
339
+ "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮webpage‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮specify‬‏ ‏‮a‬‏ ‏‮consistent‬‏ ‏‮language‬‏, ‏‮then‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮might‬‏ ‏‮not‬‏ ‏‮announce‬‏ ‏‮the‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮text‬‏ ‏‮correctly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/html-xml-lang-mismatch)."
340
+ },
341
+ "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
342
+ "message": "`<html>` ‏‮element‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
343
+ },
344
+ "core/audits/accessibility/html-xml-lang-mismatch.js | title": {
345
+ "message": "`<html>` ‏‮element‬‏ ‏‮has‬‏ ‏‮an‬‏ `[xml:lang]` ‏‮attribute‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮base‬‏ ‏‮language‬‏ ‏‮as‬‏ ‏‮the‬‏ `[lang]` ‏‮attribute‬‏."
346
+ },
347
+ "core/audits/accessibility/identical-links-same-purpose.js | description": {
348
+ "message": "‏‮Links‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮destination‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮description‬‏, ‏‮to‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮link‬‏'‏‮s‬‏ ‏‮purpose‬‏ ‏‮and‬‏ ‏‮decide‬‏ ‏‮whether‬‏ ‏‮to‬‏ ‏‮follow‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮identical‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.13/identical-links-same-purpose)."
349
+ },
350
+ "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
351
+ "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
352
+ },
353
+ "core/audits/accessibility/identical-links-same-purpose.js | title": {
354
+ "message": "‏‮Identical‬‏ ‏‮links‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮purpose‬‏."
355
+ },
356
+ "core/audits/accessibility/image-alt.js | description": {
357
+ "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternate‬‏ ‏‮text‬‏. ‏‮Decorative‬‏ ‏‮elements‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮ignored‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮alt‬‏ ‏‮attribute‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/image-alt)."
358
+ },
359
+ "core/audits/accessibility/image-alt.js | failureTitle": {
360
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
361
+ },
362
+ "core/audits/accessibility/image-alt.js | title": {
363
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏"
364
+ },
365
+ "core/audits/accessibility/image-redundant-alt.js | description": {
366
+ "message": "‏‮Informative‬‏ ‏‮elements‬‏ ‏‮should‬‏ ‏‮aim‬‏ ‏‮for‬‏ ‏‮short‬‏, ‏‮descriptive‬‏ ‏‮alternative‬‏ ‏‮text‬‏. ‏‮Alternative‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮exactly‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮as‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮adjacent‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮potentially‬‏ ‏‮confusing‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏, ‏‮because‬‏ ‏‮the‬‏ ‏‮text‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮read‬‏ ‏‮twice‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `alt` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/image-redundant-alt)."
367
+ },
368
+ "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
369
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
370
+ },
371
+ "core/audits/accessibility/image-redundant-alt.js | title": {
372
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮attributes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮redundant‬‏ ‏‮text‬‏."
373
+ },
374
+ "core/audits/accessibility/input-button-name.js | description": {
375
+ "message": "‏‮Adding‬‏ ‏‮discernable‬‏ ‏‮and‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮buttons‬‏ ‏‮may‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮input‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮buttons‬‏](https://dequeuniversity.com/rules/axe/4.13/input-button-name)."
376
+ },
377
+ "core/audits/accessibility/input-button-name.js | failureTitle": {
378
+ "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
379
+ },
380
+ "core/audits/accessibility/input-button-name.js | title": {
381
+ "message": "‏‮Input‬‏ ‏‮buttons‬‏ ‏‮have‬‏ ‏‮discernible‬‏ ‏‮text‬‏."
382
+ },
383
+ "core/audits/accessibility/input-image-alt.js | description": {
384
+ "message": "‏‮When‬‏ ‏‮an‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮being‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮an‬‏ `<input>` ‏‮button‬‏, ‏‮providing‬‏ ‏‮alternative‬‏ ‏‮text‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮understand‬‏ ‏‮the‬‏ ‏‮purpose‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮button‬‏. [‏‮Learn‬‏ ‏‮about‬‏ ‏‮input‬‏ ‏‮image‬‏ ‏‮alt‬‏ ‏‮text‬‏](https://dequeuniversity.com/rules/axe/4.13/input-image-alt)."
385
+ },
386
+ "core/audits/accessibility/input-image-alt.js | failureTitle": {
387
+ "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
388
+ },
389
+ "core/audits/accessibility/input-image-alt.js | title": {
390
+ "message": "`<input type=\"image\">` ‏‮elements‬‏ ‏‮have‬‏ `[alt]` ‏‮text‬‏"
391
+ },
392
+ "core/audits/accessibility/label-content-name-mismatch.js | description": {
393
+ "message": "‏‮Visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮that‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮accessible‬‏ ‏‮name‬‏ ‏‮can‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮confusing‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮accessible‬‏ ‏‮names‬‏](https://dequeuniversity.com/rules/axe/4.13/label-content-name-mismatch)."
394
+ },
395
+ "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
396
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
397
+ },
398
+ "core/audits/accessibility/label-content-name-mismatch.js | title": {
399
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ ‏‮visible‬‏ ‏‮text‬‏ ‏‮labels‬‏ ‏‮have‬‏ ‏‮matching‬‏ ‏‮accessible‬‏ ‏‮names‬‏."
400
+ },
401
+ "core/audits/accessibility/label.js | description": {
402
+ "message": "‏‮Labels‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮form‬‏ ‏‮controls‬‏ ‏‮are‬‏ ‏‮announced‬‏ ‏‮properly‬‏ ‏‮by‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏, ‏‮like‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮form‬‏ ‏‮element‬‏ ‏‮labels‬‏](https://dequeuniversity.com/rules/axe/4.13/label)."
403
+ },
404
+ "core/audits/accessibility/label.js | failureTitle": {
405
+ "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
406
+ },
407
+ "core/audits/accessibility/label.js | title": {
408
+ "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮labels‬‏"
409
+ },
410
+ "core/audits/accessibility/landmark-one-main.js | description": {
411
+ "message": "‏‮One‬‏ ‏‮main‬‏ ‏‮landmark‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏ ‏‮navigate‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮landmarks‬‏](https://dequeuniversity.com/rules/axe/4.13/landmark-one-main)."
412
+ },
413
+ "core/audits/accessibility/landmark-one-main.js | failureTitle": {
414
+ "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
415
+ },
416
+ "core/audits/accessibility/landmark-one-main.js | title": {
417
+ "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮main‬‏ ‏‮landmark‬‏."
418
+ },
419
+ "core/audits/accessibility/link-in-text-block.js | description": {
420
+ "message": "‏‮Low‬‏-‏‮contrast‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮difficult‬‏ ‏‮or‬‏ ‏‮impossible‬‏ ‏‮for‬‏ ‏‮many‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮read‬‏. ‏‮Link‬‏ ‏‮text‬‏ ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮distinguishable‬‏](https://dequeuniversity.com/rules/axe/4.13/link-in-text-block)."
421
+ },
422
+ "core/audits/accessibility/link-in-text-block.js | failureTitle": {
423
+ "message": "‏‮Links‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮color‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮distinguishable‬‏."
424
+ },
425
+ "core/audits/accessibility/link-in-text-block.js | title": {
426
+ "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮distinguishable‬‏ ‏‮without‬‏ ‏‮relying‬‏ ‏‮on‬‏ ‏‮color‬‏."
427
+ },
428
+ "core/audits/accessibility/link-name.js | description": {
429
+ "message": "‏‮Link‬‏ ‏‮text‬‏ (‏‮and‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮for‬‏ ‏‮images‬‏, ‏‮when‬‏ ‏‮used‬‏ ‏‮as‬‏ ‏‮links‬‏) ‏‮that‬‏ ‏‮is‬‏ ‏‮discernible‬‏, ‏‮unique‬‏, ‏‮and‬‏ ‏‮focusable‬‏ ‏‮improves‬‏ ‏‮the‬‏ ‏‮navigation‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮accessible‬‏](https://dequeuniversity.com/rules/axe/4.13/link-name)."
430
+ },
431
+ "core/audits/accessibility/link-name.js | failureTitle": {
432
+ "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
433
+ },
434
+ "core/audits/accessibility/link-name.js | title": {
435
+ "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮discernible‬‏ ‏‮name‬‏"
436
+ },
437
+ "core/audits/accessibility/list.js | description": {
438
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮specific‬‏ ‏‮way‬‏ ‏‮of‬‏ ‏‮announcing‬‏ ‏‮lists‬‏. ‏‮Ensuring‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏ ‏‮aids‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮output‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.13/list)."
439
+ },
440
+ "core/audits/accessibility/list.js | failureTitle": {
441
+ "message": "‏‮Lists‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
442
+ },
443
+ "core/audits/accessibility/list.js | title": {
444
+ "message": "‏‮Lists‬‏ ‏‮contain‬‏ ‏‮only‬‏ `<li>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮supporting‬‏ ‏‮elements‬‏ (`<script>` ‏‮and‬‏ `<template>`)."
445
+ },
446
+ "core/audits/accessibility/listitem.js | description": {
447
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮require‬‏ ‏‮list‬‏ ‏‮items‬‏ (`<li>`) ‏‮to‬‏ ‏‮be‬‏ ‏‮contained‬‏ ‏‮within‬‏ ‏‮a‬‏ ‏‮parent‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮to‬‏ ‏‮be‬‏ ‏‮announced‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮proper‬‏ ‏‮list‬‏ ‏‮structure‬‏](https://dequeuniversity.com/rules/axe/4.13/listitem)."
448
+ },
449
+ "core/audits/accessibility/listitem.js | failureTitle": {
450
+ "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮not‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏."
451
+ },
452
+ "core/audits/accessibility/listitem.js | title": {
453
+ "message": "‏‮List‬‏ ‏‮items‬‏ (`<li>`) ‏‮are‬‏ ‏‮contained‬‏ ‏‮within‬‏ `<ul>`, `<ol>` ‏‮or‬‏ `<menu>` ‏‮parent‬‏ ‏‮elements‬‏"
454
+ },
455
+ "core/audits/accessibility/meta-refresh.js | description": {
456
+ "message": "‏‮Users‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮expect‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮refresh‬‏ ‏‮automatically‬‏, ‏‮and‬‏ ‏‮doing‬‏ ‏‮so‬‏ ‏‮will‬‏ ‏‮move‬‏ ‏‮focus‬‏ ‏‮back‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮top‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮create‬‏ ‏‮a‬‏ ‏‮frustrating‬‏ ‏‮or‬‏ ‏‮confusing‬‏ ‏‮experience‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮refresh‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.13/meta-refresh)."
457
+ },
458
+ "core/audits/accessibility/meta-refresh.js | failureTitle": {
459
+ "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮uses‬‏ `<meta http-equiv=\"refresh\">`"
460
+ },
461
+ "core/audits/accessibility/meta-refresh.js | title": {
462
+ "message": "‏‮The‬‏ ‏‮document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮use‬‏ `<meta http-equiv=\"refresh\">`"
463
+ },
464
+ "core/audits/accessibility/meta-viewport.js | description": {
465
+ "message": "‏‮Disabling‬‏ ‏‮zooming‬‏ ‏‮is‬‏ ‏‮problematic‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮vision‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮screen‬‏ ‏‮magnification‬‏ ‏‮to‬‏ ‏‮properly‬‏ ‏‮see‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮web‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮viewport‬‏ ‏‮meta‬‏ ‏‮tag‬‏](https://dequeuniversity.com/rules/axe/4.13/meta-viewport)."
466
+ },
467
+ "core/audits/accessibility/meta-viewport.js | failureTitle": {
468
+ "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮or‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
469
+ },
470
+ "core/audits/accessibility/meta-viewport.js | title": {
471
+ "message": "`[user-scalable=\"no\"]` ‏‮is‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮in‬‏ ‏‮the‬‏ `<meta name=\"viewport\">` ‏‮element‬‏ ‏‮and‬‏ ‏‮the‬‏ `[maximum-scale]` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮less‬‏ ‏‮than‬‏ 5."
472
+ },
473
+ "core/audits/accessibility/object-alt.js | description": {
474
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮cannot‬‏ ‏‮translate‬‏ ‏‮non‬‏-‏‮text‬‏ ‏‮content‬‏. ‏‮Adding‬‏ ‏‮alternate‬‏ ‏‮text‬‏ ‏‮to‬‏ `<object>` ‏‮elements‬‏ ‏‮helps‬‏ ‏‮screen‬‏ ‏‮readers‬‏ ‏‮convey‬‏ ‏‮meaning‬‏ ‏‮to‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮alt‬‏ ‏‮text‬‏ ‏‮for‬‏ `object` ‏‮elements‬‏](https://dequeuniversity.com/rules/axe/4.13/object-alt)."
475
+ },
476
+ "core/audits/accessibility/object-alt.js | failureTitle": {
477
+ "message": "`<object>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
478
+ },
479
+ "core/audits/accessibility/object-alt.js | title": {
480
+ "message": "`<object>` ‏‮elements‬‏ ‏‮have‬‏ ‏‮alternate‬‏ ‏‮text‬‏"
481
+ },
482
+ "core/audits/accessibility/presentation-role-conflict.js | description": {
483
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮certain‬‏ ‏‮cases‬‏ ‏‮where‬‏ ‏‮the‬‏ ‏‮semantic‬‏ ‏‮role‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮element‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮does‬‏ ‏‮not‬‏ ‏‮resolve‬‏ ‏‮to‬‏ ‏‮none‬‏ ‏‮or‬‏ ‏‮presentation‬‏. ‏‮To‬‏ ‏‮ensure‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮remains‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮tree‬‏, ‏‮you‬‏ ‏‮should‬‏ ‏‮not‬‏ ‏‮add‬‏ ‏‮any‬‏ ‏‮global‬‏ ‏‮ARIA‬‏ ‏‮attributes‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮or‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮focusable‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮presentation‬‏ ‏‮role‬‏ ‏‮conflict‬‏](https://dequeuniversity.com/rules/axe/4.13/presentation-role-conflict)."
484
+ },
485
+ "core/audits/accessibility/presentation-role-conflict.js | failureTitle": {
486
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮have‬‏ ‏‮conflicts‬‏"
487
+ },
488
+ "core/audits/accessibility/presentation-role-conflict.js | title": {
489
+ "message": "‏‮Elements‬‏ ‏‮with‬‏ `role=\"none\"` ‏‮or‬‏ `role=\"presentation\"` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮conflicts‬‏"
490
+ },
491
+ "core/audits/accessibility/select-name.js | description": {
492
+ "message": "‏‮Form‬‏ ‏‮elements‬‏ ‏‮without‬‏ ‏‮effective‬‏ ‏‮labels‬‏ ‏‮can‬‏ ‏‮create‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `select` ‏‮element‬‏](https://dequeuniversity.com/rules/axe/4.13/select-name)."
493
+ },
494
+ "core/audits/accessibility/select-name.js | failureTitle": {
495
+ "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
496
+ },
497
+ "core/audits/accessibility/select-name.js | title": {
498
+ "message": "‏‮Select‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮associated‬‏ ‏‮label‬‏ ‏‮elements‬‏."
499
+ },
500
+ "core/audits/accessibility/skip-link.js | description": {
501
+ "message": "‏‮Including‬‏ ‏‮a‬‏ ‏‮skip‬‏ ‏‮link‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮skip‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮skip‬‏ ‏‮links‬‏](https://dequeuniversity.com/rules/axe/4.13/skip-link)."
502
+ },
503
+ "core/audits/accessibility/skip-link.js | failureTitle": {
504
+ "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮focusable‬‏."
505
+ },
506
+ "core/audits/accessibility/skip-link.js | title": {
507
+ "message": "‏‮Skip‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮focusable‬‏."
508
+ },
509
+ "core/audits/accessibility/svg-img-alt.js | description": {
510
+ "message": "‏‮Ensures‬‏ ‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img`, `graphics-document` ‏‮or‬‏ `graphics-symbol` ‏‮role‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮SVG‬‏ ‏‮alt‬‏ ‏‮text‬‏](https://dequeuniversity.com/rules/axe/4.13/svg-img-alt)."
511
+ },
512
+ "core/audits/accessibility/svg-img-alt.js | failureTitle": {
513
+ "message": "‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img` ‏‮role‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏"
514
+ },
515
+ "core/audits/accessibility/svg-img-alt.js | title": {
516
+ "message": "‏‮SVG‬‏ ‏‮elements‬‏ ‏‮with‬‏ ‏‮an‬‏ `img` ‏‮role‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮accessible‬‏ ‏‮text‬‏ ‏‮alternative‬‏"
517
+ },
518
+ "core/audits/accessibility/tabindex.js | description": {
519
+ "message": "‏‮A‬‏ ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0 ‏‮implies‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮navigation‬‏ ‏‮ordering‬‏. ‏‮Although‬‏ ‏‮technically‬‏ ‏‮valid‬‏, ‏‮this‬‏ ‏‮often‬‏ ‏‮creates‬‏ ‏‮frustrating‬‏ ‏‮experiences‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮rely‬‏ ‏‮on‬‏ ‏‮assistive‬‏ ‏‮technologies‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `tabindex` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/tabindex)."
520
+ },
521
+ "core/audits/accessibility/tabindex.js | failureTitle": {
522
+ "message": "‏‮Some‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
523
+ },
524
+ "core/audits/accessibility/tabindex.js | title": {
525
+ "message": "‏‮No‬‏ ‏‮element‬‏ ‏‮has‬‏ ‏‮a‬‏ `[tabindex]` ‏‮value‬‏ ‏‮greater‬‏ ‏‮than‬‏ 0"
526
+ },
527
+ "core/audits/accessibility/table-duplicate-name.js | description": {
528
+ "message": "‏‮The‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮should‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮table‬‏ ‏‮structure‬‏, ‏‮while‬‏ `<caption>` ‏‮should‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮onscreen‬‏ ‏‮title‬‏. ‏‮Accurate‬‏ ‏‮table‬‏ ‏‮mark‬‏-‏‮up‬‏ ‏‮helps‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮screen‬‏ ‏‮readers‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮summary‬‏ ‏‮and‬‏ ‏‮caption‬‏](https://dequeuniversity.com/rules/axe/4.13/table-duplicate-name)."
529
+ },
530
+ "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
531
+ "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>.`"
532
+ },
533
+ "core/audits/accessibility/table-duplicate-name.js | title": {
534
+ "message": "‏‮Tables‬‏ ‏‮have‬‏ ‏‮different‬‏ ‏‮content‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮summary‬‏ ‏‮attribute‬‏ ‏‮and‬‏ `<caption>`."
535
+ },
536
+ "core/audits/accessibility/table-fake-caption.js | description": {
537
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ ‏‮tables‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮actual‬‏ ‏‮caption‬‏ ‏‮element‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.13/table-fake-caption)."
538
+ },
539
+ "core/audits/accessibility/table-fake-caption.js | failureTitle": {
540
+ "message": "‏‮Tables‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
541
+ },
542
+ "core/audits/accessibility/table-fake-caption.js | title": {
543
+ "message": "‏‮Tables‬‏ ‏‮use‬‏ `<caption>` ‏‮instead‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮with‬‏ ‏‮the‬‏ `[colspan]` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮indicate‬‏ ‏‮a‬‏ ‏‮caption‬‏."
544
+ },
545
+ "core/audits/accessibility/target-size.js | description": {
546
+ "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮with‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏ ‏‮help‬‏ ‏‮users‬‏ ‏‮who‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮difficulty‬‏ ‏‮targeting‬‏ ‏‮small‬‏ ‏‮controls‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮the‬‏ ‏‮targets‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮touch‬‏ ‏‮targets‬‏](https://dequeuniversity.com/rules/axe/4.13/target-size)."
547
+ },
548
+ "core/audits/accessibility/target-size.js | failureTitle": {
549
+ "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮or‬‏ ‏‮spacing‬‏."
550
+ },
551
+ "core/audits/accessibility/target-size.js | title": {
552
+ "message": "‏‮Touch‬‏ ‏‮targets‬‏ ‏‮have‬‏ ‏‮sufficient‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮spacing‬‏."
553
+ },
554
+ "core/audits/accessibility/td-has-header.js | description": {
555
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮that‬‏ `<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮table‬‏ (3 ‏‮or‬‏ ‏‮more‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏) ‏‮have‬‏ ‏‮an‬‏ ‏‮associated‬‏ ‏‮table‬‏ ‏‮header‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.13/td-has-header)."
556
+ },
557
+ "core/audits/accessibility/td-has-header.js | failureTitle": {
558
+ "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮table‬‏ ‏‮headers‬‏."
559
+ },
560
+ "core/audits/accessibility/td-has-header.js | title": {
561
+ "message": "`<td>` ‏‮elements‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮large‬‏ `<table>` ‏‮have‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ ‏‮table‬‏ ‏‮headers‬‏."
562
+ },
563
+ "core/audits/accessibility/td-headers-attr.js | description": {
564
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ `<td>` ‏‮cells‬‏ ‏‮using‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮only‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮other‬‏ ‏‮cells‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ `headers` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/td-headers-attr)."
565
+ },
566
+ "core/audits/accessibility/td-headers-attr.js | failureTitle": {
567
+ "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮element‬‏ `id` ‏‮not‬‏ ‏‮found‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
568
+ },
569
+ "core/audits/accessibility/td-headers-attr.js | title": {
570
+ "message": "‏‮Cells‬‏ ‏‮in‬‏ ‏‮a‬‏ `<table>` ‏‮element‬‏ ‏‮that‬‏ ‏‮use‬‏ ‏‮the‬‏ `[headers]` ‏‮attribute‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮table‬‏ ‏‮cells‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮table‬‏."
571
+ },
572
+ "core/audits/accessibility/th-has-data-cells.js | description": {
573
+ "message": "‏‮Screen‬‏ ‏‮readers‬‏ ‏‮have‬‏ ‏‮features‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮navigating‬‏ ‏‮tables‬‏ ‏‮easier‬‏. ‏‮Ensuring‬‏ ‏‮table‬‏ ‏‮headers‬‏ ‏‮always‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮some‬‏ ‏‮set‬‏ ‏‮of‬‏ ‏‮cells‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮screen‬‏ ‏‮reader‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮table‬‏ ‏‮headers‬‏](https://dequeuniversity.com/rules/axe/4.13/th-has-data-cells)."
574
+ },
575
+ "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
576
+ "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
577
+ },
578
+ "core/audits/accessibility/th-has-data-cells.js | title": {
579
+ "message": "`<th>` ‏‮elements‬‏ ‏‮and‬‏ ‏‮elements‬‏ ‏‮with‬‏ `[role=\"columnheader\"/\"rowheader\"]` ‏‮have‬‏ ‏‮data‬‏ ‏‮cells‬‏ ‏‮they‬‏ ‏‮describe‬‏."
580
+ },
581
+ "core/audits/accessibility/valid-lang.js | description": {
582
+ "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮valid‬‏ [‏‮BCP‬‏ 47 ‏‮language‬‏](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‏‮on‬‏ ‏‮elements‬‏ ‏‮helps‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮pronounced‬‏ ‏‮correctly‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮the‬‏ `lang` ‏‮attribute‬‏](https://dequeuniversity.com/rules/axe/4.13/valid-lang)."
583
+ },
584
+ "core/audits/accessibility/valid-lang.js | failureTitle": {
585
+ "message": "`[lang]` ‏‮attributes‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
586
+ },
587
+ "core/audits/accessibility/valid-lang.js | title": {
588
+ "message": "`[lang]` ‏‮attributes‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏"
589
+ },
590
+ "core/audits/accessibility/video-caption.js | description": {
591
+ "message": "‏‮When‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮provides‬‏ ‏‮a‬‏ ‏‮caption‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮easier‬‏ ‏‮for‬‏ ‏‮deaf‬‏ ‏‮and‬‏ ‏‮hearing‬‏ ‏‮impaired‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮its‬‏ ‏‮information‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮video‬‏ ‏‮captions‬‏](https://dequeuniversity.com/rules/axe/4.13/video-caption)."
592
+ },
593
+ "core/audits/accessibility/video-caption.js | failureTitle": {
594
+ "message": "`<video>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`."
595
+ },
596
+ "core/audits/accessibility/video-caption.js | title": {
597
+ "message": "`<video>` ‏‮elements‬‏ ‏‮contain‬‏ ‏‮a‬‏ `<track>` ‏‮element‬‏ ‏‮with‬‏ `[kind=\"captions\"]`"
598
+ },
599
+ "core/audits/agentic/agent-accessibility-tree.js | columnElement": {
600
+ "message": "‏‮Failing‬‏ ‏‮Element‬‏"
601
+ },
602
+ "core/audits/agentic/agent-accessibility-tree.js | columnRule": {
603
+ "message": "‏‮Failing‬‏ ‏‮Rule‬‏"
604
+ },
605
+ "core/audits/agentic/agent-accessibility-tree.js | description": {
606
+ "message": "‏‮A‬‏ ‏‮well‬‏-‏‮formed‬‏ [‏‮accessibility‬‏ ‏‮tree‬‏](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents) ‏‮helps‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮to‬‏ ‏‮navigate‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮page‬‏."
607
+ },
608
+ "core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
609
+ "message": "‏‮All‬‏ ‏‮audits‬‏ ‏‮passed‬‏"
610
+ },
611
+ "core/audits/agentic/agent-accessibility-tree.js | failedSectionTitle": {
612
+ "message": "‏‮Failed‬‏ ‏‮Audits‬‏"
613
+ },
614
+ "core/audits/agentic/agent-accessibility-tree.js | failureTitle": {
615
+ "message": "‏‮Accessibility‬‏ ‏‮tree‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮well‬‏-‏‮formed‬‏"
616
+ },
617
+ "core/audits/agentic/agent-accessibility-tree.js | title": {
618
+ "message": "‏‮Accessibility‬‏ ‏‮tree‬‏ ‏‮is‬‏ ‏‮well‬‏-‏‮formed‬‏"
619
+ },
620
+ "core/audits/agentic/ard-schema.js | columnIssue": {
621
+ "message": "‏‮Issue‬‏"
622
+ },
623
+ "core/audits/agentic/ard-schema.js | columnSeverity": {
624
+ "message": "‏‮Severity‬‏"
625
+ },
626
+ "core/audits/agentic/ard-schema.js | description": {
627
+ "message": "‏‮Valid‬‏ `ai-catalog.json` ‏‮manifests‬‏ ‏‮are‬‏ ‏‮required‬‏ ‏‮for‬‏ ‏‮autonomous‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮and‬‏ ‏‮registries‬‏ ‏‮to‬‏ ‏‮discover‬‏ ‏‮and‬‏ ‏‮verify‬‏ ‏‮your‬‏ ‏‮resources‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮ARD‬‏ ‏‮specification‬‏](https://agenticresourcediscovery.org/spec/)."
628
+ },
629
+ "core/audits/agentic/ard-schema.js | explanation": {
630
+ "message": "‏‮Catalog‬‏ ‏‮file‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮loaded‬‏ ‏‮for‬‏ ‏‮schema‬‏ ‏‮validation‬‏."
631
+ },
632
+ "core/audits/agentic/ard-schema.js | failureTitle": {
633
+ "message": "`ai-catalog.json` ‏‮schema‬‏ ‏‮is‬‏ ‏‮invalid‬‏"
634
+ },
635
+ "core/audits/agentic/ard-schema.js | itemSeverityError": {
636
+ "message": "‏‮Error‬‏"
637
+ },
638
+ "core/audits/agentic/ard-schema.js | title": {
639
+ "message": "`ai-catalog.json` ‏‮schema‬‏ ‏‮is‬‏ ‏‮valid‬‏"
640
+ },
641
+ "core/audits/agentic/llms-txt.js | description": {
642
+ "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮file‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮follow‬‏ ‏‮recommendations‬‏, ‏‮large‬‏ ‏‮language‬‏ ‏‮models‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮how‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮your‬‏ ‏‮website‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮crawled‬‏ ‏‮or‬‏ ‏‮used‬‏ ‏‮for‬‏ ‏‮training‬‏. ‏‮The‬‏ [‏‮llms‬‏.‏‮txt‬‏](https://llmstxt.org/) ‏‮file‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮a‬‏ ‏‮Markdown‬‏ ‏‮file‬‏ ‏‮containing‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮one‬‏ ‏‮H‬‏1 ‏‮header‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮audit‬‏](https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt)."
643
+ },
644
+ "core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
645
+ "message": "‏‮Failed‬‏ ‏‮with‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ {statusCode}"
646
+ },
647
+ "core/audits/agentic/llms-txt.js | explanation": {
648
+ "message": "‏‮Fetch‬‏ ‏‮of‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮failed‬‏"
649
+ },
650
+ "core/audits/agentic/llms-txt.js | explanationWithError": {
651
+ "message": "‏‮Fetch‬‏ ‏‮of‬‏ ‏‮llms‬‏.‏‮txt‬‏ ‏‮failed‬‏: {error}"
652
+ },
653
+ "core/audits/agentic/llms-txt.js | failureTitle": {
654
+ "message": "‏‮llms‬‏.‏‮txt‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮follow‬‏ ‏‮recommendations‬‏"
655
+ },
656
+ "core/audits/agentic/llms-txt.js | missingH1": {
657
+ "message": "‏‮File‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮H‬‏1 ‏‮header‬‏ (‏‮e‬‏.‏‮g‬‏., \"# ‏‮Title‬‏\")."
658
+ },
659
+ "core/audits/agentic/llms-txt.js | missingLinks": {
660
+ "message": "‏‮File‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮appear‬‏ ‏‮to‬‏ ‏‮contain‬‏ ‏‮any‬‏ ‏‮links‬‏."
661
+ },
662
+ "core/audits/agentic/llms-txt.js | title": {
663
+ "message": "‏‮llms‬‏.‏‮txt‬‏ ‏‮follows‬‏ ‏‮recommendations‬‏"
664
+ },
665
+ "core/audits/agentic/llms-txt.js | tooShort": {
666
+ "message": "‏‮File‬‏ ‏‮is‬‏ ‏‮suspiciously‬‏ ‏‮short‬‏."
667
+ },
668
+ "core/audits/autocomplete.js | columnCurrent": {
669
+ "message": "‏‮Current‬‏ ‏‮Value‬‏"
670
+ },
671
+ "core/audits/autocomplete.js | columnSuggestions": {
672
+ "message": "‏‮Suggested‬‏ ‏‮Token‬‏"
673
+ },
674
+ "core/audits/autocomplete.js | description": {
675
+ "message": "`autocomplete` ‏‮helps‬‏ ‏‮users‬‏ ‏‮submit‬‏ ‏‮forms‬‏ ‏‮quicker‬‏. ‏‮To‬‏ ‏‮reduce‬‏ ‏‮user‬‏ ‏‮effort‬‏, ‏‮consider‬‏ ‏‮enabling‬‏ ‏‮by‬‏ ‏‮setting‬‏ ‏‮the‬‏ `autocomplete` ‏‮attribute‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮value‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ `autocomplete` ‏‮in‬‏ ‏‮forms‬‏](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
676
+ },
677
+ "core/audits/autocomplete.js | failureTitle": {
678
+ "message": "`<input>` ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮correct‬‏ `autocomplete` ‏‮attributes‬‏"
679
+ },
680
+ "core/audits/autocomplete.js | manualReview": {
681
+ "message": "‏‮Requires‬‏ ‏‮manual‬‏ ‏‮review‬‏"
682
+ },
683
+ "core/audits/autocomplete.js | reviewOrder": {
684
+ "message": "‏‮Review‬‏ ‏‮order‬‏ ‏‮of‬‏ ‏‮tokens‬‏"
685
+ },
686
+ "core/audits/autocomplete.js | title": {
687
+ "message": "`<input>` ‏‮elements‬‏ ‏‮correctly‬‏ ‏‮use‬‏ `autocomplete`"
688
+ },
689
+ "core/audits/autocomplete.js | warningInvalid": {
690
+ "message": "`autocomplete` ‏‮token‬‏(‏‮s‬‏): \"{token}\" ‏‮is‬‏ ‏‮invalid‬‏ ‏‮in‬‏ {snippet}"
691
+ },
692
+ "core/audits/autocomplete.js | warningOrder": {
693
+ "message": "‏‮Review‬‏ ‏‮order‬‏ ‏‮of‬‏ ‏‮tokens‬‏: \"{tokens}\" ‏‮in‬‏ {snippet}"
694
+ },
695
+ "core/audits/baseline.js | columnFeature": {
696
+ "message": "‏‮Web‬‏-‏‮features‬‏"
697
+ },
698
+ "core/audits/baseline.js | columnStatus": {
699
+ "message": "‏‮Baseline‬‏ ‏‮Status‬‏"
700
+ },
701
+ "core/audits/baseline.js | description": {
702
+ "message": "‏‮Lists‬‏ ‏‮web‬‏ ‏‮features‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮and‬‏ ‏‮their‬‏ ‏‮Baseline‬‏ ‏‮status‬‏ ‏‮as‬‏ ‏‮of‬‏ {date}. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Baseline‬‏](https://webstatus.dev/)."
703
+ },
704
+ "core/audits/baseline.js | title": {
705
+ "message": "‏‮Baseline‬‏ ‏‮Features‬‏"
706
+ },
707
+ "core/audits/bf-cache.js | actionableFailureType": {
708
+ "message": "‏‮Actionable‬‏"
709
+ },
710
+ "core/audits/bf-cache.js | description": {
711
+ "message": "‏‮Many‬‏ ‏‮navigations‬‏ ‏‮are‬‏ ‏‮performed‬‏ ‏‮by‬‏ ‏‮going‬‏ ‏‮back‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮previous‬‏ ‏‮page‬‏, ‏‮or‬‏ ‏‮forwards‬‏ ‏‮again‬‏. ‏‮The‬‏ ‏‮back‬‏/‏‮forward‬‏ ‏‮cache‬‏ (‏‮bfcache‬‏) ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮these‬‏ ‏‮return‬‏ ‏‮navigations‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮bfcache‬‏](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)"
712
+ },
713
+ "core/audits/bf-cache.js | displayValue": {
714
+ "message": "{itemCount,plural, =1{1 ‏‮failure‬‏ ‏‮reason‬‏}zero{# ‏‮failure‬‏ ‏‮reasons‬‏}two{# ‏‮failure‬‏ ‏‮reasons‬‏}few{# ‏‮failure‬‏ ‏‮reasons‬‏}many{# ‏‮failure‬‏ ‏‮reasons‬‏}other{# ‏‮failure‬‏ ‏‮reasons‬‏}}"
715
+ },
716
+ "core/audits/bf-cache.js | failureReasonColumn": {
717
+ "message": "‏‮Failure‬‏ ‏‮reason‬‏"
718
+ },
719
+ "core/audits/bf-cache.js | failureTitle": {
720
+ "message": "‏‮Page‬‏ ‏‮prevented‬‏ ‏‮back‬‏/‏‮forward‬‏ ‏‮cache‬‏ ‏‮restoration‬‏"
721
+ },
722
+ "core/audits/bf-cache.js | failureTypeColumn": {
723
+ "message": "‏‮Failure‬‏ ‏‮type‬‏"
724
+ },
725
+ "core/audits/bf-cache.js | notActionableFailureType": {
726
+ "message": "‏‮Not‬‏ ‏‮actionable‬‏"
727
+ },
728
+ "core/audits/bf-cache.js | supportPendingFailureType": {
729
+ "message": "‏‮Pending‬‏ ‏‮browser‬‏ ‏‮support‬‏"
730
+ },
731
+ "core/audits/bf-cache.js | title": {
732
+ "message": "‏‮Page‬‏ ‏‮didn‬‏'‏‮t‬‏ ‏‮prevent‬‏ ‏‮back‬‏/‏‮forward‬‏ ‏‮cache‬‏ ‏‮restoration‬‏"
733
+ },
734
+ "core/audits/bf-cache.js | warningHeadless": {
735
+ "message": "‏‮Back‬‏/‏‮forward‬‏ ‏‮cache‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮tested‬‏ ‏‮in‬‏ ‏‮old‬‏ ‏‮Headless‬‏ ‏‮Chrome‬‏ (`--chrome-flags=\"--headless=old\"`). ‏‮To‬‏ ‏‮see‬‏ ‏‮audit‬‏ ‏‮results‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮new‬‏ ‏‮Headless‬‏ ‏‮Chrome‬‏ (`--chrome-flags=\"--headless=new\"`) ‏‮or‬‏ ‏‮standard‬‏ ‏‮Chrome‬‏."
736
+ },
737
+ "core/audits/bootup-time.js | chromeExtensionsWarning": {
738
+ "message": "‏‮Chrome‬‏ ‏‮extensions‬‏ ‏‮negatively‬‏ ‏‮affected‬‏ ‏‮this‬‏ ‏‮page‬‏'‏‮s‬‏ ‏‮load‬‏ ‏‮performance‬‏. ‏‮Try‬‏ ‏‮auditing‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮incognito‬‏ ‏‮mode‬‏ ‏‮or‬‏ ‏‮from‬‏ ‏‮a‬‏ ‏‮Chrome‬‏ ‏‮profile‬‏ ‏‮without‬‏ ‏‮extensions‬‏."
739
+ },
740
+ "core/audits/bootup-time.js | columnScriptEval": {
741
+ "message": "‏‮Script‬‏ ‏‮Evaluation‬‏"
742
+ },
743
+ "core/audits/bootup-time.js | columnScriptParse": {
744
+ "message": "‏‮Script‬‏ ‏‮Parse‬‏"
745
+ },
746
+ "core/audits/bootup-time.js | columnTotal": {
747
+ "message": "‏‮Total‬‏ ‏‮CPU‬‏ ‏‮Time‬‏"
748
+ },
749
+ "core/audits/bootup-time.js | description": {
750
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮spent‬‏ ‏‮parsing‬‏, ‏‮compiling‬‏, ‏‮and‬‏ ‏‮executing‬‏ ‏‮JS‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮find‬‏ ‏‮delivering‬‏ ‏‮smaller‬‏ ‏‮JS‬‏ ‏‮payloads‬‏ ‏‮helps‬‏ ‏‮with‬‏ ‏‮this‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮Javascript‬‏ ‏‮execution‬‏ ‏‮time‬‏](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)."
751
+ },
752
+ "core/audits/bootup-time.js | failureTitle": {
753
+ "message": "‏‮Reduce‬‏ ‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏"
754
+ },
755
+ "core/audits/bootup-time.js | title": {
756
+ "message": "‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏"
757
+ },
758
+ "core/audits/byte-efficiency/total-byte-weight.js | description": {
759
+ "message": "‏‮Large‬‏ ‏‮network‬‏ ‏‮payloads‬‏ ‏‮cost‬‏ ‏‮users‬‏ ‏‮real‬‏ ‏‮money‬‏ ‏‮and‬‏ ‏‮are‬‏ ‏‮highly‬‏ ‏‮correlated‬‏ ‏‮with‬‏ ‏‮long‬‏ ‏‮load‬‏ ‏‮times‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮payload‬‏ ‏‮sizes‬‏](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
760
+ },
761
+ "core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
762
+ "message": "‏‮Total‬‏ ‏‮size‬‏ ‏‮was‬‏ {totalBytes, number, bytes} ‏‮KiB‬‏"
763
+ },
764
+ "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
765
+ "message": "‏‮Avoid‬‏ ‏‮enormous‬‏ ‏‮network‬‏ ‏‮payloads‬‏"
766
+ },
767
+ "core/audits/byte-efficiency/total-byte-weight.js | title": {
768
+ "message": "‏‮Avoids‬‏ ‏‮enormous‬‏ ‏‮network‬‏ ‏‮payloads‬‏"
769
+ },
770
+ "core/audits/byte-efficiency/unminified-css.js | description": {
771
+ "message": "‏‮Minifying‬‏ ‏‮CSS‬‏ ‏‮files‬‏ ‏‮can‬‏ ‏‮reduce‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮minify‬‏ ‏‮CSS‬‏](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)."
772
+ },
773
+ "core/audits/byte-efficiency/unminified-css.js | title": {
774
+ "message": "‏‮Minify‬‏ ‏‮CSS‬‏"
775
+ },
776
+ "core/audits/byte-efficiency/unminified-javascript.js | description": {
777
+ "message": "‏‮Minifying‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮can‬‏ ‏‮reduce‬‏ ‏‮payload‬‏ ‏‮sizes‬‏ ‏‮and‬‏ ‏‮script‬‏ ‏‮parse‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮minify‬‏ ‏‮JavaScript‬‏](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)."
778
+ },
779
+ "core/audits/byte-efficiency/unminified-javascript.js | title": {
780
+ "message": "‏‮Minify‬‏ ‏‮JavaScript‬‏"
781
+ },
782
+ "core/audits/byte-efficiency/unused-css-rules.js | description": {
783
+ "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏ ‏‮and‬‏ ‏‮defer‬‏ ‏‮CSS‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮for‬‏ ‏‮above‬‏-‏‮the‬‏-‏‮fold‬‏ ‏‮content‬‏ ‏‮to‬‏ ‏‮decrease‬‏ ‏‮bytes‬‏ ‏‮consumed‬‏ ‏‮by‬‏ ‏‮network‬‏ ‏‮activity‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮unused‬‏ ‏‮CSS‬‏](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)."
784
+ },
785
+ "core/audits/byte-efficiency/unused-css-rules.js | title": {
786
+ "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮CSS‬‏"
787
+ },
788
+ "core/audits/byte-efficiency/unused-javascript.js | description": {
789
+ "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮and‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮scripts‬‏ ‏‮until‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮required‬‏ ‏‮to‬‏ ‏‮decrease‬‏ ‏‮bytes‬‏ ‏‮consumed‬‏ ‏‮by‬‏ ‏‮network‬‏ ‏‮activity‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)."
790
+ },
791
+ "core/audits/byte-efficiency/unused-javascript.js | title": {
792
+ "message": "‏‮Reduce‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏"
793
+ },
794
+ "core/audits/clickjacking-mitigation.js | columnSeverity": {
795
+ "message": "‏‮Severity‬‏"
796
+ },
797
+ "core/audits/clickjacking-mitigation.js | description": {
798
+ "message": "‏‮The‬‏ `X-Frame-Options` (‏‮XFO‬‏) ‏‮header‬‏ ‏‮or‬‏ ‏‮the‬‏ `frame-ancestors` ‏‮directive‬‏ ‏‮in‬‏ ‏‮the‬‏ `Content-Security-Policy` (‏‮CSP‬‏) ‏‮header‬‏ ‏‮control‬‏ ‏‮where‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮embedded‬‏. ‏‮These‬‏ ‏‮can‬‏ ‏‮mitigate‬‏ ‏‮clickjacking‬‏ ‏‮attacks‬‏ ‏‮by‬‏ ‏‮blocking‬‏ ‏‮some‬‏ ‏‮or‬‏ ‏‮all‬‏ ‏‮sites‬‏ ‏‮from‬‏ ‏‮embedding‬‏ ‏‮the‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮mitigating‬‏ ‏‮clickjacking‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/clickjacking-mitigation)."
799
+ },
800
+ "core/audits/clickjacking-mitigation.js | noClickjackingMitigation": {
801
+ "message": "‏‮No‬‏ ‏‮frame‬‏ ‏‮control‬‏ ‏‮policy‬‏ ‏‮found‬‏"
802
+ },
803
+ "core/audits/clickjacking-mitigation.js | title": {
804
+ "message": "‏‮Mitigate‬‏ ‏‮clickjacking‬‏ ‏‮with‬‏ ‏‮XFO‬‏ ‏‮or‬‏ ‏‮CSP‬‏"
805
+ },
806
+ "core/audits/csp-xss.js | columnDirective": {
807
+ "message": "‏‮Directive‬‏"
808
+ },
809
+ "core/audits/csp-xss.js | columnSeverity": {
810
+ "message": "‏‮Severity‬‏"
811
+ },
812
+ "core/audits/csp-xss.js | description": {
813
+ "message": "‏‮A‬‏ ‏‮strong‬‏ ‏‮Content‬‏ ‏‮Security‬‏ ‏‮Policy‬‏ (‏‮CSP‬‏) ‏‮significantly‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮risk‬‏ ‏‮of‬‏ ‏‮cross‬‏-‏‮site‬‏ ‏‮scripting‬‏ (‏‮XSS‬‏) ‏‮attacks‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮CSP‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮XSS‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)"
814
+ },
815
+ "core/audits/csp-xss.js | itemSeveritySyntax": {
816
+ "message": "‏‮Syntax‬‏"
817
+ },
818
+ "core/audits/csp-xss.js | metaTagMessage": {
819
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮CSP‬‏ ‏‮defined‬‏ ‏‮in‬‏ ‏‮a‬‏ `<meta>` ‏‮tag‬‏. ‏‮Consider‬‏ ‏‮moving‬‏ ‏‮the‬‏ ‏‮CSP‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮HTTP‬‏ ‏‮header‬‏ ‏‮or‬‏ ‏‮defining‬‏ ‏‮another‬‏ ‏‮strict‬‏ ‏‮CSP‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮HTTP‬‏ ‏‮header‬‏."
820
+ },
821
+ "core/audits/csp-xss.js | noCsp": {
822
+ "message": "‏‮No‬‏ ‏‮CSP‬‏ ‏‮found‬‏ ‏‮in‬‏ ‏‮enforcement‬‏ ‏‮mode‬‏"
823
+ },
824
+ "core/audits/csp-xss.js | title": {
825
+ "message": "‏‮Ensure‬‏ ‏‮CSP‬‏ ‏‮is‬‏ ‏‮effective‬‏ ‏‮against‬‏ ‏‮XSS‬‏ ‏‮attacks‬‏"
826
+ },
827
+ "core/audits/deprecations.js | columnDeprecate": {
828
+ "message": "‏‮Deprecation‬‏ / ‏‮Warning‬‏"
829
+ },
830
+ "core/audits/deprecations.js | columnLine": {
831
+ "message": "‏‮Line‬‏"
832
+ },
833
+ "core/audits/deprecations.js | description": {
834
+ "message": "‏‮Deprecated‬‏ ‏‮APIs‬‏ ‏‮will‬‏ ‏‮eventually‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮browser‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deprecated‬‏ ‏‮APIs‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)."
835
+ },
836
+ "core/audits/deprecations.js | displayValue": {
837
+ "message": "{itemCount,plural, =1{1 ‏‮warning‬‏ ‏‮found‬‏}zero{# ‏‮warnings‬‏ ‏‮found‬‏}two{# ‏‮warnings‬‏ ‏‮found‬‏}few{# ‏‮warnings‬‏ ‏‮found‬‏}many{# ‏‮warnings‬‏ ‏‮found‬‏}other{# ‏‮warnings‬‏ ‏‮found‬‏}}"
838
+ },
839
+ "core/audits/deprecations.js | failureTitle": {
840
+ "message": "‏‮Uses‬‏ ‏‮deprecated‬‏ ‏‮APIs‬‏"
841
+ },
842
+ "core/audits/deprecations.js | title": {
843
+ "message": "‏‮Avoids‬‏ ‏‮deprecated‬‏ ‏‮APIs‬‏"
844
+ },
845
+ "core/audits/dobetterweb/charset.js | description": {
846
+ "message": "‏‮A‬‏ ‏‮character‬‏ ‏‮encoding‬‏ ‏‮declaration‬‏ ‏‮is‬‏ ‏‮required‬‏. ‏‮It‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮done‬‏ ‏‮with‬‏ ‏‮a‬‏ `<meta>` ‏‮tag‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮first‬‏ 1024 ‏‮bytes‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮or‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Content‬‏-‏‮Type‬‏ ‏‮HTTP‬‏ ‏‮response‬‏ ‏‮header‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮declaring‬‏ ‏‮the‬‏ ‏‮character‬‏ ‏‮encoding‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)."
847
+ },
848
+ "core/audits/dobetterweb/charset.js | failureTitle": {
849
+ "message": "‏‮Charset‬‏ ‏‮declaration‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮or‬‏ ‏‮occurs‬‏ ‏‮too‬‏ ‏‮late‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮HTML‬‏"
850
+ },
851
+ "core/audits/dobetterweb/charset.js | title": {
852
+ "message": "‏‮Properly‬‏ ‏‮defines‬‏ ‏‮charset‬‏"
853
+ },
854
+ "core/audits/dobetterweb/doctype.js | description": {
855
+ "message": "‏‮Specifying‬‏ ‏‮a‬‏ ‏‮doctype‬‏ ‏‮prevents‬‏ ‏‮the‬‏ ‏‮browser‬‏ ‏‮from‬‏ ‏‮switching‬‏ ‏‮to‬‏ ‏‮quirks‬‏-‏‮mode‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮doctype‬‏ ‏‮declaration‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)."
856
+ },
857
+ "core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
858
+ "message": "‏‮Doctype‬‏ ‏‮name‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮the‬‏ ‏‮string‬‏ `html`"
859
+ },
860
+ "core/audits/dobetterweb/doctype.js | explanationLimitedQuirks": {
861
+ "message": "‏‮Document‬‏ ‏‮contains‬‏ ‏‮a‬‏ `doctype` ‏‮that‬‏ ‏‮triggers‬‏ `limited-quirks-mode`"
862
+ },
863
+ "core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
864
+ "message": "‏‮Document‬‏ ‏‮must‬‏ ‏‮contain‬‏ ‏‮a‬‏ ‏‮doctype‬‏"
865
+ },
866
+ "core/audits/dobetterweb/doctype.js | explanationPublicId": {
867
+ "message": "‏‮Expected‬‏ ‏‮publicId‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮string‬‏"
868
+ },
869
+ "core/audits/dobetterweb/doctype.js | explanationSystemId": {
870
+ "message": "‏‮Expected‬‏ ‏‮systemId‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮empty‬‏ ‏‮string‬‏"
871
+ },
872
+ "core/audits/dobetterweb/doctype.js | explanationWrongDoctype": {
873
+ "message": "‏‮Document‬‏ ‏‮contains‬‏ ‏‮a‬‏ `doctype` ‏‮that‬‏ ‏‮triggers‬‏ `quirks-mode`"
874
+ },
875
+ "core/audits/dobetterweb/doctype.js | failureTitle": {
876
+ "message": "‏‮Page‬‏ ‏‮lacks‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮doctype‬‏, ‏‮thus‬‏ ‏‮triggering‬‏ ‏‮quirks‬‏-‏‮mode‬‏"
877
+ },
878
+ "core/audits/dobetterweb/doctype.js | title": {
879
+ "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮the‬‏ ‏‮HTML‬‏ ‏‮doctype‬‏"
880
+ },
881
+ "core/audits/dobetterweb/geolocation-on-start.js | description": {
882
+ "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮their‬‏ ‏‮location‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮action‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/). ‏‮Also‬‏ ‏‮consider‬‏ ‏‮using‬‏ ‏‮the‬‏ [`<geolocation>` ‏‮element‬‏](https://developer.chrome.com/blog/geolocation-html-element)."
883
+ },
884
+ "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
885
+ "message": "‏‮Requests‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
886
+ },
887
+ "core/audits/dobetterweb/geolocation-on-start.js | title": {
888
+ "message": "‏‮Avoids‬‏ ‏‮requesting‬‏ ‏‮the‬‏ ‏‮geolocation‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
889
+ },
890
+ "core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
891
+ "message": "‏‮Issue‬‏ ‏‮type‬‏"
892
+ },
893
+ "core/audits/dobetterweb/inspector-issues.js | description": {
894
+ "message": "‏‮Issues‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏ ‏‮indicate‬‏ ‏‮unresolved‬‏ ‏‮problems‬‏. ‏‮They‬‏ ‏‮can‬‏ ‏‮come‬‏ ‏‮from‬‏ ‏‮network‬‏ ‏‮request‬‏ ‏‮failures‬‏, ‏‮insufficient‬‏ ‏‮security‬‏ ‏‮controls‬‏, ‏‮and‬‏ ‏‮other‬‏ ‏‮browser‬‏ ‏‮concerns‬‏. ‏‮Open‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮Issues‬‏ ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏ ‏‮on‬‏ ‏‮each‬‏ ‏‮issue‬‏."
895
+ },
896
+ "core/audits/dobetterweb/inspector-issues.js | failureTitle": {
897
+ "message": "‏‮Issues‬‏ ‏‮were‬‏ ‏‮logged‬‏ ‏‮in‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏"
898
+ },
899
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
900
+ "message": "‏‮Blocked‬‏ ‏‮by‬‏ ‏‮cross‬‏-‏‮origin‬‏ ‏‮policy‬‏"
901
+ },
902
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
903
+ "message": "‏‮Heavy‬‏ ‏‮resource‬‏ ‏‮usage‬‏ ‏‮by‬‏ ‏‮ads‬‏"
904
+ },
905
+ "core/audits/dobetterweb/inspector-issues.js | title": {
906
+ "message": "‏‮No‬‏ ‏‮issues‬‏ ‏‮in‬‏ ‏‮the‬‏ `Issues` ‏‮panel‬‏ ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮Devtools‬‏"
907
+ },
908
+ "core/audits/dobetterweb/js-libraries.js | columnVersion": {
909
+ "message": "‏‮Version‬‏"
910
+ },
911
+ "core/audits/dobetterweb/js-libraries.js | description": {
912
+ "message": "‏‮All‬‏ ‏‮front‬‏-‏‮end‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏ ‏‮detected‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮this‬‏ ‏‮JavaScript‬‏ ‏‮library‬‏ ‏‮detection‬‏ ‏‮diagnostic‬‏ ‏‮audit‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/)."
913
+ },
914
+ "core/audits/dobetterweb/js-libraries.js | title": {
915
+ "message": "‏‮Detected‬‏ ‏‮JavaScript‬‏ ‏‮libraries‬‏"
916
+ },
917
+ "core/audits/dobetterweb/notification-on-start.js | description": {
918
+ "message": "‏‮Users‬‏ ‏‮are‬‏ ‏‮mistrustful‬‏ ‏‮of‬‏ ‏‮or‬‏ ‏‮confused‬‏ ‏‮by‬‏ ‏‮sites‬‏ ‏‮that‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮notifications‬‏ ‏‮without‬‏ ‏‮context‬‏. ‏‮Consider‬‏ ‏‮tying‬‏ ‏‮the‬‏ ‏‮request‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮gestures‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮responsibly‬‏ ‏‮getting‬‏ ‏‮permission‬‏ ‏‮for‬‏ ‏‮notifications‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)."
919
+ },
920
+ "core/audits/dobetterweb/notification-on-start.js | failureTitle": {
921
+ "message": "‏‮Requests‬‏ ‏‮the‬‏ ‏‮notification‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
922
+ },
923
+ "core/audits/dobetterweb/notification-on-start.js | title": {
924
+ "message": "‏‮Avoids‬‏ ‏‮requesting‬‏ ‏‮the‬‏ ‏‮notification‬‏ ‏‮permission‬‏ ‏‮on‬‏ ‏‮page‬‏ ‏‮load‬‏"
925
+ },
926
+ "core/audits/dobetterweb/paste-preventing-inputs.js | description": {
927
+ "message": "‏‮Preventing‬‏ ‏‮input‬‏ ‏‮pasting‬‏ ‏‮is‬‏ ‏‮a‬‏ ‏‮bad‬‏ ‏‮practice‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮UX‬‏, ‏‮and‬‏ ‏‮weakens‬‏ ‏‮security‬‏ ‏‮by‬‏ ‏‮blocking‬‏ ‏‮password‬‏ ‏‮managers‬‏.[‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮user‬‏-‏‮friendly‬‏ ‏‮input‬‏ ‏‮fields‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/paste-preventing-inputs/)."
928
+ },
929
+ "core/audits/dobetterweb/paste-preventing-inputs.js | failureTitle": {
930
+ "message": "‏‮Prevents‬‏ ‏‮users‬‏ ‏‮from‬‏ ‏‮pasting‬‏ ‏‮into‬‏ ‏‮input‬‏ ‏‮fields‬‏"
931
+ },
932
+ "core/audits/dobetterweb/paste-preventing-inputs.js | title": {
933
+ "message": "‏‮Allows‬‏ ‏‮users‬‏ ‏‮to‬‏ ‏‮paste‬‏ ‏‮into‬‏ ‏‮input‬‏ ‏‮fields‬‏"
934
+ },
935
+ "core/audits/errors-in-console.js | description": {
936
+ "message": "‏‮Errors‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏ ‏‮indicate‬‏ ‏‮unresolved‬‏ ‏‮problems‬‏. ‏‮They‬‏ ‏‮can‬‏ ‏‮come‬‏ ‏‮from‬‏ ‏‮network‬‏ ‏‮request‬‏ ‏‮failures‬‏ ‏‮and‬‏ ‏‮other‬‏ ‏‮browser‬‏ ‏‮concerns‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮this‬‏ ‏‮errors‬‏ ‏‮in‬‏ ‏‮console‬‏ ‏‮diagnostic‬‏ ‏‮audit‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
937
+ },
938
+ "core/audits/errors-in-console.js | failureTitle": {
939
+ "message": "‏‮Browser‬‏ ‏‮errors‬‏ ‏‮were‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏"
940
+ },
941
+ "core/audits/errors-in-console.js | title": {
942
+ "message": "‏‮No‬‏ ‏‮browser‬‏ ‏‮errors‬‏ ‏‮logged‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮console‬‏"
943
+ },
944
+ "core/audits/has-hsts.js | columnDirective": {
945
+ "message": "‏‮Directive‬‏"
946
+ },
947
+ "core/audits/has-hsts.js | columnSeverity": {
948
+ "message": "‏‮Severity‬‏"
949
+ },
950
+ "core/audits/has-hsts.js | description": {
951
+ "message": "‏‮Deployment‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮HSTS‬‏ ‏‮header‬‏ ‏‮significantly‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮risk‬‏ ‏‮of‬‏ ‏‮downgrading‬‏ ‏‮HTTP‬‏ ‏‮connections‬‏ ‏‮and‬‏ ‏‮eavesdropping‬‏ ‏‮attacks‬‏. ‏‮A‬‏ ‏‮rollout‬‏ ‏‮in‬‏ ‏‮stages‬‏, ‏‮starting‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮low‬‏ ‏‮max‬‏-‏‮age‬‏ ‏‮is‬‏ ‏‮recommended‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮strong‬‏ ‏‮HSTS‬‏ ‏‮policy‬‏.](https://developer.chrome.com/docs/lighthouse/best-practices/has-hsts)"
952
+ },
953
+ "core/audits/has-hsts.js | invalidSyntax": {
954
+ "message": "‏‮Invalid‬‏ ‏‮syntax‬‏"
955
+ },
956
+ "core/audits/has-hsts.js | lowMaxAge": {
957
+ "message": "`max-age` ‏‮is‬‏ ‏‮too‬‏ ‏‮low‬‏"
958
+ },
959
+ "core/audits/has-hsts.js | noHsts": {
960
+ "message": "‏‮No‬‏ ‏‮HSTS‬‏ ‏‮header‬‏ ‏‮found‬‏"
961
+ },
962
+ "core/audits/has-hsts.js | noMaxAge": {
963
+ "message": "‏‮No‬‏ `max-age` ‏‮directive‬‏"
964
+ },
965
+ "core/audits/has-hsts.js | noPreload": {
966
+ "message": "‏‮No‬‏ `preload` ‏‮directive‬‏ ‏‮found‬‏"
967
+ },
968
+ "core/audits/has-hsts.js | noSubdomain": {
969
+ "message": "‏‮No‬‏ `includeSubDomains` ‏‮directive‬‏ ‏‮found‬‏"
970
+ },
971
+ "core/audits/has-hsts.js | title": {
972
+ "message": "‏‮Use‬‏ ‏‮a‬‏ ‏‮strong‬‏ ‏‮HSTS‬‏ ‏‮policy‬‏"
973
+ },
974
+ "core/audits/image-aspect-ratio.js | columnActual": {
975
+ "message": "‏‮Aspect‬‏ ‏‮Ratio‬‏ (‏‮Actual‬‏)"
976
+ },
977
+ "core/audits/image-aspect-ratio.js | columnDisplayed": {
978
+ "message": "‏‮Aspect‬‏ ‏‮Ratio‬‏ (‏‮Displayed‬‏)"
979
+ },
980
+ "core/audits/image-aspect-ratio.js | description": {
981
+ "message": "‏‮Image‬‏ ‏‮display‬‏ ‏‮dimensions‬‏ ‏‮should‬‏ ‏‮match‬‏ ‏‮natural‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮image‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/image-aspect-ratio/)."
982
+ },
983
+ "core/audits/image-aspect-ratio.js | failureTitle": {
984
+ "message": "‏‮Displays‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮incorrect‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏"
985
+ },
986
+ "core/audits/image-aspect-ratio.js | title": {
987
+ "message": "‏‮Displays‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮correct‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏"
988
+ },
989
+ "core/audits/image-size-responsive.js | columnActual": {
990
+ "message": "‏‮Actual‬‏ ‏‮size‬‏"
991
+ },
992
+ "core/audits/image-size-responsive.js | columnDisplayed": {
993
+ "message": "‏‮Displayed‬‏ ‏‮size‬‏"
994
+ },
995
+ "core/audits/image-size-responsive.js | columnExpected": {
996
+ "message": "‏‮Expected‬‏ ‏‮size‬‏"
997
+ },
998
+ "core/audits/image-size-responsive.js | description": {
999
+ "message": "‏‮Image‬‏ ‏‮natural‬‏ ‏‮dimensions‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮proportional‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮display‬‏ ‏‮size‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮pixel‬‏ ‏‮ratio‬‏ ‏‮to‬‏ ‏‮maximize‬‏ ‏‮image‬‏ ‏‮clarity‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮responsive‬‏ ‏‮images‬‏](https://web.dev/articles/serve-responsive-images)."
1000
+ },
1001
+ "core/audits/image-size-responsive.js | failureTitle": {
1002
+ "message": "‏‮Serves‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮low‬‏ ‏‮resolution‬‏"
1003
+ },
1004
+ "core/audits/image-size-responsive.js | title": {
1005
+ "message": "‏‮Serves‬‏ ‏‮images‬‏ ‏‮with‬‏ ‏‮appropriate‬‏ ‏‮resolution‬‏"
1006
+ },
1007
+ "core/audits/insights/cls-culprits-insight.js | columnScore": {
1008
+ "message": "‏‮Layout‬‏ ‏‮shift‬‏ ‏‮score‬‏"
1009
+ },
1010
+ "core/audits/is-on-https.js | allowed": {
1011
+ "message": "‏‮Allowed‬‏"
1012
+ },
1013
+ "core/audits/is-on-https.js | blocked": {
1014
+ "message": "‏‮Blocked‬‏"
1015
+ },
1016
+ "core/audits/is-on-https.js | columnInsecureURL": {
1017
+ "message": "‏‮Insecure‬‏ ‏‮URL‬‏"
1018
+ },
1019
+ "core/audits/is-on-https.js | columnResolution": {
1020
+ "message": "‏‮Request‬‏ ‏‮Resolution‬‏"
1021
+ },
1022
+ "core/audits/is-on-https.js | description": {
1023
+ "message": "‏‮All‬‏ ‏‮sites‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮protected‬‏ ‏‮with‬‏ ‏‮HTTPS‬‏, ‏‮even‬‏ ‏‮ones‬‏ ‏‮that‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮handle‬‏ ‏‮sensitive‬‏ ‏‮data‬‏. ‏‮This‬‏ ‏‮includes‬‏ ‏‮avoiding‬‏ [‏‮mixed‬‏ ‏‮content‬‏](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), ‏‮where‬‏ ‏‮some‬‏ ‏‮resources‬‏ ‏‮are‬‏ ‏‮loaded‬‏ ‏‮over‬‏ ‏‮HTTP‬‏ ‏‮despite‬‏ ‏‮the‬‏ ‏‮initial‬‏ ‏‮request‬‏ ‏‮being‬‏ ‏‮served‬‏ ‏‮over‬‏ ‏‮HTTPS‬‏. ‏‮HTTPS‬‏ ‏‮prevents‬‏ ‏‮intruders‬‏ ‏‮from‬‏ ‏‮tampering‬‏ ‏‮with‬‏ ‏‮or‬‏ ‏‮passively‬‏ ‏‮listening‬‏ ‏‮in‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮communications‬‏ ‏‮between‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮and‬‏ ‏‮your‬‏ ‏‮users‬‏, ‏‮and‬‏ ‏‮is‬‏ ‏‮a‬‏ ‏‮prerequisite‬‏ ‏‮for‬‏ ‏‮HTTP‬‏/2 ‏‮and‬‏ ‏‮many‬‏ ‏‮new‬‏ ‏‮web‬‏ ‏‮platform‬‏ ‏‮APIs‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮HTTPS‬‏](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/)."
1024
+ },
1025
+ "core/audits/is-on-https.js | displayValue": {
1026
+ "message": "{itemCount,plural, =1{1 ‏‮insecure‬‏ ‏‮request‬‏ ‏‮found‬‏}zero{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}two{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}few{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}many{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}other{# ‏‮insecure‬‏ ‏‮requests‬‏ ‏‮found‬‏}}"
1027
+ },
1028
+ "core/audits/is-on-https.js | failureTitle": {
1029
+ "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮use‬‏ ‏‮HTTPS‬‏"
1030
+ },
1031
+ "core/audits/is-on-https.js | title": {
1032
+ "message": "‏‮Uses‬‏ ‏‮HTTPS‬‏"
1033
+ },
1034
+ "core/audits/is-on-https.js | upgraded": {
1035
+ "message": "‏‮Automatically‬‏ ‏‮upgraded‬‏ ‏‮to‬‏ ‏‮HTTPS‬‏"
1036
+ },
1037
+ "core/audits/is-on-https.js | warning": {
1038
+ "message": "‏‮Allowed‬‏ ‏‮with‬‏ ‏‮warning‬‏"
1039
+ },
1040
+ "core/audits/layout-shifts.js | columnScore": {
1041
+ "message": "‏‮Layout‬‏ ‏‮shift‬‏ ‏‮score‬‏"
1042
+ },
1043
+ "core/audits/layout-shifts.js | description": {
1044
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮observed‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮Each‬‏ ‏‮table‬‏ ‏‮item‬‏ ‏‮represents‬‏ ‏‮a‬‏ ‏‮single‬‏ ‏‮layout‬‏ ‏‮shift‬‏, ‏‮and‬‏ ‏‮shows‬‏ ‏‮the‬‏ ‏‮element‬‏ ‏‮that‬‏ ‏‮shifted‬‏ ‏‮the‬‏ ‏‮most‬‏. ‏‮Below‬‏ ‏‮each‬‏ ‏‮item‬‏ ‏‮are‬‏ ‏‮possible‬‏ ‏‮root‬‏ ‏‮causes‬‏ ‏‮that‬‏ ‏‮led‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮layout‬‏ ‏‮shift‬‏. ‏‮Some‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮included‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮CLS‬‏ ‏‮metric‬‏ ‏‮value‬‏ ‏‮due‬‏ ‏‮to‬‏ [‏‮windowing‬‏](https://web.dev/articles/cls#what_is_cls). [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮CLS‬‏](https://web.dev/articles/optimize-cls)"
1045
+ },
1046
+ "core/audits/layout-shifts.js | displayValueShiftsFound": {
1047
+ "message": "{shiftCount,plural, =1{1 ‏‮layout‬‏ ‏‮shift‬‏ ‏‮found‬‏}zero{# ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮found‬‏}two{# ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮found‬‏}few{# ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮found‬‏}many{# ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮found‬‏}other{# ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮found‬‏}}"
1048
+ },
1049
+ "core/audits/layout-shifts.js | rootCauseFontChanges": {
1050
+ "message": "‏‮Web‬‏ ‏‮font‬‏ ‏‮loaded‬‏"
1051
+ },
1052
+ "core/audits/layout-shifts.js | rootCauseInjectedIframe": {
1053
+ "message": "‏‮Injected‬‏ ‏‮iframe‬‏"
1054
+ },
1055
+ "core/audits/layout-shifts.js | rootCauseUnsizedMedia": {
1056
+ "message": "‏‮Media‬‏ ‏‮element‬‏ ‏‮lacking‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮size‬‏"
1057
+ },
1058
+ "core/audits/layout-shifts.js | title": {
1059
+ "message": "‏‮Avoid‬‏ ‏‮large‬‏ ‏‮layout‬‏ ‏‮shifts‬‏"
1060
+ },
1061
+ "core/audits/long-tasks.js | description": {
1062
+ "message": "‏‮Lists‬‏ ‏‮the‬‏ ‏‮longest‬‏ ‏‮tasks‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮thread‬‏, ‏‮useful‬‏ ‏‮for‬‏ ‏‮identifying‬‏ ‏‮worst‬‏ ‏‮contributors‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮delay‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮long‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮tasks‬‏](https://web.dev/articles/optimize-long-tasks)"
1063
+ },
1064
+ "core/audits/long-tasks.js | displayValue": {
1065
+ "message": "{itemCount,plural, =1{# ‏‮long‬‏ ‏‮task‬‏ ‏‮found‬‏}zero{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}two{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}few{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}many{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}other{# ‏‮long‬‏ ‏‮tasks‬‏ ‏‮found‬‏}}"
1066
+ },
1067
+ "core/audits/long-tasks.js | title": {
1068
+ "message": "‏‮Avoid‬‏ ‏‮long‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮tasks‬‏"
1069
+ },
1070
+ "core/audits/mainthread-work-breakdown.js | columnCategory": {
1071
+ "message": "‏‮Category‬‏"
1072
+ },
1073
+ "core/audits/mainthread-work-breakdown.js | description": {
1074
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮spent‬‏ ‏‮parsing‬‏, ‏‮compiling‬‏ ‏‮and‬‏ ‏‮executing‬‏ ‏‮JS‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮find‬‏ ‏‮delivering‬‏ ‏‮smaller‬‏ ‏‮JS‬‏ ‏‮payloads‬‏ ‏‮helps‬‏ ‏‮with‬‏ ‏‮this‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮minimize‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)"
1075
+ },
1076
+ "core/audits/mainthread-work-breakdown.js | failureTitle": {
1077
+ "message": "‏‮Minimize‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏"
1078
+ },
1079
+ "core/audits/mainthread-work-breakdown.js | title": {
1080
+ "message": "‏‮Minimizes‬‏ ‏‮main‬‏-‏‮thread‬‏ ‏‮work‬‏"
1081
+ },
1082
+ "core/audits/metrics/cumulative-layout-shift.js | description": {
1083
+ "message": "‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏ ‏‮measures‬‏ ‏‮the‬‏ ‏‮movement‬‏ ‏‮of‬‏ ‏‮visible‬‏ ‏‮elements‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮viewport‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏ ‏‮metric‬‏](https://web.dev/articles/cls)."
1084
+ },
1085
+ "core/audits/metrics/first-contentful-paint.js | description": {
1086
+ "message": "‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮marks‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮at‬‏ ‏‮which‬‏ ‏‮the‬‏ ‏‮first‬‏ ‏‮text‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮painted‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)."
1087
+ },
1088
+ "core/audits/metrics/interaction-to-next-paint.js | description": {
1089
+ "message": "‏‮Interaction‬‏ ‏‮to‬‏ ‏‮Next‬‏ ‏‮Paint‬‏ ‏‮measures‬‏ ‏‮page‬‏ ‏‮responsiveness‬‏, ‏‮how‬‏ ‏‮long‬‏ ‏‮it‬‏ ‏‮takes‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮visibly‬‏ ‏‮respond‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮input‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Interaction‬‏ ‏‮to‬‏ ‏‮Next‬‏ ‏‮Paint‬‏ ‏‮metric‬‏](https://web.dev/articles/inp)."
1090
+ },
1091
+ "core/audits/metrics/interactive.js | description": {
1092
+ "message": "‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮amount‬‏ ‏‮of‬‏ ‏‮time‬‏ ‏‮it‬‏ ‏‮takes‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮to‬‏ ‏‮become‬‏ ‏‮fully‬‏ ‏‮interactive‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/interactive/)."
1093
+ },
1094
+ "core/audits/metrics/largest-contentful-paint.js | description": {
1095
+ "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮marks‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮at‬‏ ‏‮which‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮text‬‏ ‏‮or‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮painted‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
1096
+ },
1097
+ "core/audits/metrics/max-potential-fid.js | description": {
1098
+ "message": "‏‮The‬‏ ‏‮maximum‬‏ ‏‮potential‬‏ ‏‮First‬‏ ‏‮Input‬‏ ‏‮Delay‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮users‬‏ ‏‮could‬‏ ‏‮experience‬‏ ‏‮is‬‏ ‏‮the‬‏ ‏‮duration‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮longest‬‏ ‏‮task‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Maximum‬‏ ‏‮Potential‬‏ ‏‮First‬‏ ‏‮Input‬‏ ‏‮Delay‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/)."
1099
+ },
1100
+ "core/audits/metrics/speed-index.js | description": {
1101
+ "message": "‏‮Speed‬‏ ‏‮Index‬‏ ‏‮shows‬‏ ‏‮how‬‏ ‏‮quickly‬‏ ‏‮the‬‏ ‏‮contents‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮are‬‏ ‏‮visibly‬‏ ‏‮populated‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Speed‬‏ ‏‮Index‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/speed-index/)."
1102
+ },
1103
+ "core/audits/metrics/total-blocking-time.js | description": {
1104
+ "message": "‏‮Sum‬‏ ‏‮of‬‏ ‏‮all‬‏ ‏‮time‬‏ ‏‮periods‬‏ ‏‮between‬‏ ‏‮FCP‬‏ ‏‮and‬‏ ‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏, ‏‮when‬‏ ‏‮task‬‏ ‏‮length‬‏ ‏‮exceeded‬‏ 50‏‮ms‬‏, ‏‮expressed‬‏ ‏‮in‬‏ ‏‮milliseconds‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Total‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/)."
1105
+ },
1106
+ "core/audits/network-rtt.js | description": {
1107
+ "message": "‏‮Network‬‏ ‏‮round‬‏ ‏‮trip‬‏ ‏‮times‬‏ (‏‮RTT‬‏) ‏‮have‬‏ ‏‮a‬‏ ‏‮large‬‏ ‏‮impact‬‏ ‏‮on‬‏ ‏‮performance‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮RTT‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮origin‬‏ ‏‮is‬‏ ‏‮high‬‏, ‏‮it‬‏'‏‮s‬‏ ‏‮an‬‏ ‏‮indication‬‏ ‏‮that‬‏ ‏‮servers‬‏ ‏‮closer‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮user‬‏ ‏‮could‬‏ ‏‮improve‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Round‬‏ ‏‮Trip‬‏ ‏‮Time‬‏](https://hpbn.co/primer-on-latency-and-bandwidth/)."
1108
+ },
1109
+ "core/audits/network-rtt.js | title": {
1110
+ "message": "‏‮Network‬‏ ‏‮Round‬‏ ‏‮Trip‬‏ ‏‮Times‬‏"
1111
+ },
1112
+ "core/audits/network-server-latency.js | description": {
1113
+ "message": "‏‮Server‬‏ ‏‮latencies‬‏ ‏‮can‬‏ ‏‮impact‬‏ ‏‮web‬‏ ‏‮performance‬‏. ‏‮If‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮latency‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮origin‬‏ ‏‮is‬‏ ‏‮high‬‏, ‏‮it‬‏'‏‮s‬‏ ‏‮an‬‏ ‏‮indication‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮overloaded‬‏ ‏‮or‬‏ ‏‮has‬‏ ‏‮poor‬‏ ‏‮backend‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
1114
+ },
1115
+ "core/audits/network-server-latency.js | title": {
1116
+ "message": "‏‮Server‬‏ ‏‮Backend‬‏ ‏‮Latencies‬‏"
1117
+ },
1118
+ "core/audits/non-composited-animations.js | description": {
1119
+ "message": "‏‮Animations‬‏ ‏‮which‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮composited‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮janky‬‏ ‏‮and‬‏ ‏‮increase‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮non‬‏-‏‮composited‬‏ ‏‮animations‬‏](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
1120
+ },
1121
+ "core/audits/non-composited-animations.js | displayValue": {
1122
+ "message": "{itemCount,plural, =1{# ‏‮animated‬‏ ‏‮element‬‏ ‏‮found‬‏}zero{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}two{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}few{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}many{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}other{# ‏‮animated‬‏ ‏‮elements‬‏ ‏‮found‬‏}}"
1123
+ },
1124
+ "core/audits/non-composited-animations.js | filterMayMovePixels": {
1125
+ "message": "‏‮Filter‬‏-‏‮related‬‏ ‏‮property‬‏ ‏‮may‬‏ ‏‮move‬‏ ‏‮pixels‬‏"
1126
+ },
1127
+ "core/audits/non-composited-animations.js | incompatibleAnimations": {
1128
+ "message": "‏‮Target‬‏ ‏‮has‬‏ ‏‮another‬‏ ‏‮animation‬‏ ‏‮which‬‏ ‏‮is‬‏ ‏‮incompatible‬‏"
1129
+ },
1130
+ "core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
1131
+ "message": "‏‮Effect‬‏ ‏‮has‬‏ ‏‮composite‬‏ ‏‮mode‬‏ ‏‮other‬‏ ‏‮than‬‏ \"‏‮replace‬‏\""
1132
+ },
1133
+ "core/audits/non-composited-animations.js | title": {
1134
+ "message": "‏‮Avoid‬‏ ‏‮non‬‏-‏‮composited‬‏ ‏‮animations‬‏"
1135
+ },
1136
+ "core/audits/non-composited-animations.js | transformDependsBoxSize": {
1137
+ "message": "‏‮Transform‬‏-‏‮related‬‏ ‏‮property‬‏ ‏‮depends‬‏ ‏‮on‬‏ ‏‮box‬‏ ‏‮size‬‏"
1138
+ },
1139
+ "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1140
+ "message": "{propertyCount,plural, =1{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Property‬‏: {properties}}zero{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}two{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}few{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}many{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}other{‏‮Unsupported‬‏ ‏‮CSS‬‏ ‏‮Properties‬‏: {properties}}}"
1141
+ },
1142
+ "core/audits/non-composited-animations.js | unsupportedCustomCSSProperty": {
1143
+ "message": "{propertyCount,plural, =1{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}zero{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}two{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}few{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}many{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}other{‏‮Custom‬‏ ‏‮CSS‬‏ ‏‮properties‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮animated‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮compositor‬‏: {properties}}}"
1144
+ },
1145
+ "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1146
+ "message": "‏‮Effect‬‏ ‏‮has‬‏ ‏‮unsupported‬‏ ‏‮timing‬‏ ‏‮parameters‬‏"
1147
+ },
1148
+ "core/audits/origin-isolation.js | columnDirective": {
1149
+ "message": "‏‮Directive‬‏"
1150
+ },
1151
+ "core/audits/origin-isolation.js | columnSeverity": {
1152
+ "message": "‏‮Severity‬‏"
1153
+ },
1154
+ "core/audits/origin-isolation.js | description": {
1155
+ "message": "‏‮The‬‏ ‏‮Cross‬‏-‏‮Origin‬‏-‏‮Opener‬‏-‏‮Policy‬‏ (‏‮COOP‬‏) ‏‮can‬‏ ‏‮be‬‏ ‏‮used‬‏ ‏‮to‬‏ ‏‮isolate‬‏ ‏‮the‬‏ ‏‮top‬‏-‏‮level‬‏ ‏‮window‬‏ ‏‮from‬‏ ‏‮other‬‏ ‏‮documents‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮pop‬‏-‏‮ups‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮deploying‬‏ ‏‮the‬‏ ‏‮COOP‬‏ ‏‮header‬‏.](https://web.dev/articles/why-coop-coep#coop)"
1156
+ },
1157
+ "core/audits/origin-isolation.js | invalidSyntax": {
1158
+ "message": "‏‮Invalid‬‏ ‏‮syntax‬‏"
1159
+ },
1160
+ "core/audits/origin-isolation.js | noCoop": {
1161
+ "message": "‏‮No‬‏ ‏‮COOP‬‏ ‏‮header‬‏ ‏‮found‬‏"
1162
+ },
1163
+ "core/audits/origin-isolation.js | title": {
1164
+ "message": "‏‮Ensure‬‏ ‏‮proper‬‏ ‏‮origin‬‏ ‏‮isolation‬‏ ‏‮with‬‏ ‏‮COOP‬‏"
1165
+ },
1166
+ "core/audits/redirects-http.js | description": {
1167
+ "message": "‏‮Make‬‏ ‏‮sure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮redirect‬‏ ‏‮all‬‏ ‏‮HTTP‬‏ ‏‮traffic‬‏ ‏‮to‬‏ ‏‮HTTPS‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮enable‬‏ ‏‮secure‬‏ ‏‮web‬‏ ‏‮features‬‏ ‏‮for‬‏ ‏‮all‬‏ ‏‮your‬‏ ‏‮users‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/)."
1168
+ },
1169
+ "core/audits/redirects-http.js | failureTitle": {
1170
+ "message": "‏‮Does‬‏ ‏‮not‬‏ ‏‮redirect‬‏ ‏‮HTTP‬‏ ‏‮traffic‬‏ ‏‮to‬‏ ‏‮HTTPS‬‏"
1171
+ },
1172
+ "core/audits/redirects-http.js | title": {
1173
+ "message": "‏‮Redirects‬‏ ‏‮HTTP‬‏ ‏‮traffic‬‏ ‏‮to‬‏ ‏‮HTTPS‬‏"
1174
+ },
1175
+ "core/audits/redirects.js | description": {
1176
+ "message": "‏‮Redirects‬‏ ‏‮introduce‬‏ ‏‮additional‬‏ ‏‮delays‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮loaded‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮page‬‏ ‏‮redirects‬‏](https://developer.chrome.com/docs/lighthouse/performance/redirects/)."
1177
+ },
1178
+ "core/audits/redirects.js | title": {
1179
+ "message": "‏‮Avoid‬‏ ‏‮multiple‬‏ ‏‮page‬‏ ‏‮redirects‬‏"
1180
+ },
1181
+ "core/audits/seo/canonical.js | description": {
1182
+ "message": "‏‮Canonical‬‏ ‏‮links‬‏ ‏‮suggest‬‏ ‏‮which‬‏ ‏‮URL‬‏ ‏‮to‬‏ ‏‮show‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮canonical‬‏ ‏‮links‬‏](https://developer.chrome.com/docs/lighthouse/seo/canonical/)."
1183
+ },
1184
+ "core/audits/seo/canonical.js | explanationConflict": {
1185
+ "message": "‏‮Multiple‬‏ ‏‮conflicting‬‏ ‏‮URLs‬‏ ({urlList})"
1186
+ },
1187
+ "core/audits/seo/canonical.js | explanationInvalid": {
1188
+ "message": "‏‮Invalid‬‏ ‏‮URL‬‏ ({url})"
1189
+ },
1190
+ "core/audits/seo/canonical.js | explanationPointsElsewhere": {
1191
+ "message": "‏‮Points‬‏ ‏‮to‬‏ ‏‮another‬‏ `hreflang` ‏‮location‬‏ ({url})"
1192
+ },
1193
+ "core/audits/seo/canonical.js | explanationRelative": {
1194
+ "message": "‏‮Is‬‏ ‏‮not‬‏ ‏‮an‬‏ ‏‮absolute‬‏ ‏‮URL‬‏ ({url})"
1195
+ },
1196
+ "core/audits/seo/canonical.js | explanationRoot": {
1197
+ "message": "‏‮Points‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮domain‬‏'‏‮s‬‏ ‏‮root‬‏ ‏‮URL‬‏ (‏‮the‬‏ ‏‮homepage‬‏), ‏‮instead‬‏ ‏‮of‬‏ ‏‮an‬‏ ‏‮equivalent‬‏ ‏‮page‬‏ ‏‮of‬‏ ‏‮content‬‏"
1198
+ },
1199
+ "core/audits/seo/canonical.js | failureTitle": {
1200
+ "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ `rel=canonical`"
1201
+ },
1202
+ "core/audits/seo/canonical.js | title": {
1203
+ "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ `rel=canonical`"
1204
+ },
1205
+ "core/audits/seo/crawlable-anchors.js | columnFailingLink": {
1206
+ "message": "‏‮Uncrawlable‬‏ ‏‮Link‬‏"
1207
+ },
1208
+ "core/audits/seo/crawlable-anchors.js | description": {
1209
+ "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮may‬‏ ‏‮use‬‏ `href` ‏‮attributes‬‏ ‏‮on‬‏ ‏‮links‬‏ ‏‮to‬‏ ‏‮crawl‬‏ ‏‮websites‬‏. ‏‮Ensure‬‏ ‏‮that‬‏ ‏‮the‬‏ `href` ‏‮attribute‬‏ ‏‮of‬‏ ‏‮anchor‬‏ ‏‮elements‬‏ ‏‮links‬‏ ‏‮to‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮destination‬‏, ‏‮so‬‏ ‏‮more‬‏ ‏‮pages‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮site‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮discovered‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮crawlable‬‏](https://support.google.com/webmasters/answer/9112205)"
1210
+ },
1211
+ "core/audits/seo/crawlable-anchors.js | failureTitle": {
1212
+ "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮crawlable‬‏"
1213
+ },
1214
+ "core/audits/seo/crawlable-anchors.js | title": {
1215
+ "message": "‏‮Links‬‏ ‏‮are‬‏ ‏‮crawlable‬‏"
1216
+ },
1217
+ "core/audits/seo/hreflang.js | description": {
1218
+ "message": "‏‮hreflang‬‏ ‏‮links‬‏ ‏‮tell‬‏ ‏‮search‬‏ ‏‮engines‬‏ ‏‮what‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮page‬‏ ‏‮they‬‏ ‏‮should‬‏ ‏‮list‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮language‬‏ ‏‮or‬‏ ‏‮region‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)."
1219
+ },
1220
+ "core/audits/seo/hreflang.js | failureTitle": {
1221
+ "message": "‏‮Document‬‏ ‏‮doesn‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ `hreflang`"
1222
+ },
1223
+ "core/audits/seo/hreflang.js | notFullyQualified": {
1224
+ "message": "‏‮Relative‬‏ ‏‮href‬‏ ‏‮value‬‏"
1225
+ },
1226
+ "core/audits/seo/hreflang.js | title": {
1227
+ "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ `hreflang`"
1228
+ },
1229
+ "core/audits/seo/hreflang.js | unexpectedLanguage": {
1230
+ "message": "‏‮Unexpected‬‏ ‏‮language‬‏ ‏‮code‬‏"
1231
+ },
1232
+ "core/audits/seo/http-status-code.js | description": {
1233
+ "message": "‏‮Pages‬‏ ‏‮with‬‏ ‏‮unsuccessful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮codes‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮indexed‬‏ ‏‮properly‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮codes‬‏](https://developer.chrome.com/docs/lighthouse/seo/http-status-code/)."
1234
+ },
1235
+ "core/audits/seo/http-status-code.js | failureTitle": {
1236
+ "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮unsuccessful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮code‬‏"
1237
+ },
1238
+ "core/audits/seo/http-status-code.js | title": {
1239
+ "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮successful‬‏ ‏‮HTTP‬‏ ‏‮status‬‏ ‏‮code‬‏"
1240
+ },
1241
+ "core/audits/seo/is-crawlable.js | description": {
1242
+ "message": "‏‮Search‬‏ ‏‮engines‬‏ ‏‮are‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮include‬‏ ‏‮your‬‏ ‏‮pages‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮if‬‏ ‏‮they‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮have‬‏ ‏‮permission‬‏ ‏‮to‬‏ ‏‮crawl‬‏ ‏‮them‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮crawler‬‏ ‏‮directives‬‏](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable/)."
1243
+ },
1244
+ "core/audits/seo/is-crawlable.js | failureTitle": {
1245
+ "message": "‏‮Page‬‏ ‏‮is‬‏ ‏‮blocked‬‏ ‏‮from‬‏ ‏‮indexing‬‏"
1246
+ },
1247
+ "core/audits/seo/is-crawlable.js | title": {
1248
+ "message": "‏‮Page‬‏ ‏‮isn‬‏’‏‮t‬‏ ‏‮blocked‬‏ ‏‮from‬‏ ‏‮indexing‬‏"
1249
+ },
1250
+ "core/audits/seo/link-text.js | description": {
1251
+ "message": "‏‮Descriptive‬‏ ‏‮link‬‏ ‏‮text‬‏ ‏‮helps‬‏ ‏‮search‬‏ ‏‮engines‬‏ ‏‮understand‬‏ ‏‮your‬‏ ‏‮content‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮links‬‏ ‏‮more‬‏ ‏‮accessible‬‏](https://developer.chrome.com/docs/lighthouse/seo/link-text/)."
1252
+ },
1253
+ "core/audits/seo/link-text.js | displayValue": {
1254
+ "message": "{itemCount,plural, =1{1 ‏‮link‬‏ ‏‮found‬‏}zero{# ‏‮links‬‏ ‏‮found‬‏}two{# ‏‮links‬‏ ‏‮found‬‏}few{# ‏‮links‬‏ ‏‮found‬‏}many{# ‏‮links‬‏ ‏‮found‬‏}other{# ‏‮links‬‏ ‏‮found‬‏}}"
1255
+ },
1256
+ "core/audits/seo/link-text.js | failureTitle": {
1257
+ "message": "‏‮Links‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮descriptive‬‏ ‏‮text‬‏"
1258
+ },
1259
+ "core/audits/seo/link-text.js | title": {
1260
+ "message": "‏‮Links‬‏ ‏‮have‬‏ ‏‮descriptive‬‏ ‏‮text‬‏"
1261
+ },
1262
+ "core/audits/seo/manual/structured-data.js | description": {
1263
+ "message": "‏‮Run‬‏ ‏‮the‬‏ [‏‮Structured‬‏ ‏‮Data‬‏ ‏‮Testing‬‏ ‏‮Tool‬‏](https://developers.google.com/search/docs/appearance/structured-data/) ‏‮to‬‏ ‏‮validate‬‏ ‏‮structured‬‏ ‏‮data‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Structured‬‏ ‏‮Data‬‏](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
1264
+ },
1265
+ "core/audits/seo/manual/structured-data.js | title": {
1266
+ "message": "‏‮Structured‬‏ ‏‮data‬‏ ‏‮is‬‏ ‏‮valid‬‏"
1267
+ },
1268
+ "core/audits/seo/meta-description.js | description": {
1269
+ "message": "‏‮Meta‬‏ ‏‮descriptions‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮included‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮to‬‏ ‏‮concisely‬‏ ‏‮summarize‬‏ ‏‮page‬‏ ‏‮content‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮meta‬‏ ‏‮description‬‏](https://developer.chrome.com/docs/lighthouse/seo/meta-description/)."
1270
+ },
1271
+ "core/audits/seo/meta-description.js | explanation": {
1272
+ "message": "‏‮Description‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮empty‬‏."
1273
+ },
1274
+ "core/audits/seo/meta-description.js | failureTitle": {
1275
+ "message": "‏‮Document‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮meta‬‏ ‏‮description‬‏"
1276
+ },
1277
+ "core/audits/seo/meta-description.js | title": {
1278
+ "message": "‏‮Document‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮meta‬‏ ‏‮description‬‏"
1279
+ },
1280
+ "core/audits/seo/robots-txt.js | description": {
1281
+ "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮file‬‏ ‏‮is‬‏ ‏‮malformed‬‏, ‏‮crawlers‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮how‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮your‬‏ ‏‮website‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮crawled‬‏ ‏‮or‬‏ ‏‮indexed‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮robots‬‏.‏‮txt‬‏](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
1282
+ },
1283
+ "core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1284
+ "message": "‏‮Request‬‏ ‏‮for‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮returned‬‏ ‏‮HTTP‬‏ ‏‮status‬‏: {statusCode}"
1285
+ },
1286
+ "core/audits/seo/robots-txt.js | displayValueValidationError": {
1287
+ "message": "{itemCount,plural, =1{1 ‏‮error‬‏ ‏‮found‬‏}zero{# ‏‮errors‬‏ ‏‮found‬‏}two{# ‏‮errors‬‏ ‏‮found‬‏}few{# ‏‮errors‬‏ ‏‮found‬‏}many{# ‏‮errors‬‏ ‏‮found‬‏}other{# ‏‮errors‬‏ ‏‮found‬‏}}"
1288
+ },
1289
+ "core/audits/seo/robots-txt.js | explanation": {
1290
+ "message": "‏‮Fetch‬‏ ‏‮of‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮failed‬‏"
1291
+ },
1292
+ "core/audits/seo/robots-txt.js | explanationWithError": {
1293
+ "message": "‏‮Fetch‬‏ ‏‮of‬‏ ‏‮robots‬‏.‏‮txt‬‏ ‏‮failed‬‏: {error}"
1294
+ },
1295
+ "core/audits/seo/robots-txt.js | failureTitle": {
1296
+ "message": "‏‮robots‬‏.‏‮txt‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid‬‏"
1297
+ },
1298
+ "core/audits/seo/robots-txt.js | title": {
1299
+ "message": "‏‮robots‬‏.‏‮txt‬‏ ‏‮is‬‏ ‏‮valid‬‏"
1300
+ },
1301
+ "core/audits/server-response-time.js | description": {
1302
+ "message": "‏‮Keep‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮document‬‏ ‏‮short‬‏ ‏‮because‬‏ ‏‮all‬‏ ‏‮other‬‏ ‏‮requests‬‏ ‏‮depend‬‏ ‏‮on‬‏ ‏‮it‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮Time‬‏ ‏‮to‬‏ ‏‮First‬‏ ‏‮Byte‬‏ ‏‮metric‬‏](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)."
1303
+ },
1304
+ "core/audits/server-response-time.js | displayValue": {
1305
+ "message": "‏‮Root‬‏ ‏‮document‬‏ ‏‮took‬‏ {timeInMs, number, milliseconds} ‏‮ms‬‏"
1306
+ },
1307
+ "core/audits/server-response-time.js | failureTitle": {
1308
+ "message": "‏‮Reduce‬‏ ‏‮initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏"
1309
+ },
1310
+ "core/audits/server-response-time.js | title": {
1311
+ "message": "‏‮Initial‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏ ‏‮was‬‏ ‏‮short‬‏"
1312
+ },
1313
+ "core/audits/third-party-cookies.js | description": {
1314
+ "message": "‏‮Third‬‏-‏‮party‬‏ ‏‮cookies‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮blocked‬‏ ‏‮in‬‏ ‏‮some‬‏ ‏‮contexts‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮preparing‬‏ ‏‮for‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookie‬‏ ‏‮restrictions‬‏](https://privacysandbox.google.com/cookies/prepare/overview)."
1315
+ },
1316
+ "core/audits/third-party-cookies.js | displayValue": {
1317
+ "message": "{itemCount,plural, =1{1 ‏‮cookie‬‏ ‏‮found‬‏}zero{# ‏‮cookies‬‏ ‏‮found‬‏}two{# ‏‮cookies‬‏ ‏‮found‬‏}few{# ‏‮cookies‬‏ ‏‮found‬‏}many{# ‏‮cookies‬‏ ‏‮found‬‏}other{# ‏‮cookies‬‏ ‏‮found‬‏}}"
1318
+ },
1319
+ "core/audits/third-party-cookies.js | failureTitle": {
1320
+ "message": "‏‮Uses‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏"
1321
+ },
1322
+ "core/audits/third-party-cookies.js | title": {
1323
+ "message": "‏‮Avoids‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮cookies‬‏"
1324
+ },
1325
+ "core/audits/trusted-types-xss.js | columnSeverity": {
1326
+ "message": "‏‮Severity‬‏"
1327
+ },
1328
+ "core/audits/trusted-types-xss.js | description": {
1329
+ "message": "‏‮The‬‏ `require-trusted-types-for` ‏‮directive‬‏ ‏‮in‬‏ ‏‮the‬‏ `Content-Security-Policy` (‏‮CSP‬‏) ‏‮header‬‏ ‏‮instructs‬‏ ‏‮user‬‏ ‏‮agents‬‏ ‏‮to‬‏ ‏‮control‬‏ ‏‮the‬‏ ‏‮data‬‏ ‏‮passed‬‏ ‏‮to‬‏ ‏‮DOM‬‏ ‏‮XSS‬‏ ‏‮sink‬‏ ‏‮functions‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮mitigating‬‏ ‏‮DOM‬‏-‏‮based‬‏ ‏‮XSS‬‏ ‏‮with‬‏ ‏‮Trusted‬‏ ‏‮Types‬‏](https://developer.chrome.com/docs/lighthouse/best-practices/trusted-types-xss)."
1330
+ },
1331
+ "core/audits/trusted-types-xss.js | noTrustedTypesToMitigateXss": {
1332
+ "message": "‏‮No‬‏ `Content-Security-Policy` ‏‮header‬‏ ‏‮with‬‏ ‏‮Trusted‬‏ ‏‮Types‬‏ ‏‮directive‬‏ ‏‮found‬‏"
1333
+ },
1334
+ "core/audits/trusted-types-xss.js | title": {
1335
+ "message": "‏‮Mitigate‬‏ ‏‮DOM‬‏-‏‮based‬‏ ‏‮XSS‬‏ ‏‮with‬‏ ‏‮Trusted‬‏ ‏‮Types‬‏"
1336
+ },
1337
+ "core/audits/unsized-images.js | description": {
1338
+ "message": "‏‮Set‬‏ ‏‮an‬‏ ‏‮explicit‬‏ ‏‮width‬‏ ‏‮and‬‏ ‏‮height‬‏ ‏‮on‬‏ ‏‮image‬‏ ‏‮elements‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮and‬‏ ‏‮improve‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮image‬‏ ‏‮dimensions‬‏](https://web.dev/articles/optimize-cls#images_without_dimensions)"
1339
+ },
1340
+ "core/audits/unsized-images.js | failureTitle": {
1341
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮explicit‬‏ `width` ‏‮and‬‏ `height`"
1342
+ },
1343
+ "core/audits/unsized-images.js | title": {
1344
+ "message": "‏‮Image‬‏ ‏‮elements‬‏ ‏‮have‬‏ ‏‮explicit‬‏ `width` ‏‮and‬‏ `height`"
1345
+ },
1346
+ "core/audits/user-timings.js | columnType": {
1347
+ "message": "‏‮Type‬‏"
1348
+ },
1349
+ "core/audits/user-timings.js | description": {
1350
+ "message": "‏‮Consider‬‏ ‏‮instrumenting‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮User‬‏ ‏‮Timing‬‏ ‏‮API‬‏ ‏‮to‬‏ ‏‮measure‬‏ ‏‮your‬‏ ‏‮app‬‏'‏‮s‬‏ ‏‮real‬‏-‏‮world‬‏ ‏‮performance‬‏ ‏‮during‬‏ ‏‮key‬‏ ‏‮user‬‏ ‏‮experiences‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮User‬‏ ‏‮Timing‬‏ ‏‮marks‬‏](https://developer.chrome.com/docs/lighthouse/performance/user-timings/)."
1351
+ },
1352
+ "core/audits/user-timings.js | displayValue": {
1353
+ "message": "{itemCount,plural, =1{1 ‏‮user‬‏ ‏‮timing‬‏}zero{# ‏‮user‬‏ ‏‮timings‬‏}two{# ‏‮user‬‏ ‏‮timings‬‏}few{# ‏‮user‬‏ ‏‮timings‬‏}many{# ‏‮user‬‏ ‏‮timings‬‏}other{# ‏‮user‬‏ ‏‮timings‬‏}}"
1354
+ },
1355
+ "core/audits/user-timings.js | title": {
1356
+ "message": "‏‮User‬‏ ‏‮Timing‬‏ ‏‮marks‬‏ ‏‮and‬‏ ‏‮measures‬‏"
1357
+ },
1358
+ "core/audits/valid-source-maps.js | columnMapURL": {
1359
+ "message": "‏‮Map‬‏ ‏‮URL‬‏"
1360
+ },
1361
+ "core/audits/valid-source-maps.js | description": {
1362
+ "message": "‏‮Source‬‏ ‏‮maps‬‏ ‏‮translate‬‏ ‏‮minified‬‏ ‏‮code‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮original‬‏ ‏‮source‬‏ ‏‮code‬‏. ‏‮This‬‏ ‏‮helps‬‏ ‏‮developers‬‏ ‏‮debug‬‏ ‏‮in‬‏ ‏‮production‬‏. ‏‮In‬‏ ‏‮addition‬‏, ‏‮Lighthouse‬‏ ‏‮is‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮further‬‏ ‏‮insights‬‏. ‏‮Consider‬‏ ‏‮deploying‬‏ ‏‮source‬‏ ‏‮maps‬‏ ‏‮to‬‏ ‏‮take‬‏ ‏‮advantage‬‏ ‏‮of‬‏ ‏‮these‬‏ ‏‮benefits‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮source‬‏ ‏‮maps‬‏](https://developer.chrome.com/docs/devtools/javascript/source-maps/)."
1363
+ },
1364
+ "core/audits/valid-source-maps.js | failureTitle": {
1365
+ "message": "‏‮Missing‬‏ ‏‮source‬‏ ‏‮maps‬‏ ‏‮for‬‏ ‏‮large‬‏ ‏‮first‬‏-‏‮party‬‏ ‏‮JavaScript‬‏"
1366
+ },
1367
+ "core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
1368
+ "message": "‏‮Large‬‏ ‏‮JavaScript‬‏ ‏‮file‬‏ ‏‮is‬‏ ‏‮missing‬‏ ‏‮a‬‏ ‏‮source‬‏ ‏‮map‬‏"
1369
+ },
1370
+ "core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
1371
+ "message": "{missingItems,plural, =1{‏‮Warning‬‏: ‏‮missing‬‏ 1 ‏‮item‬‏ ‏‮in‬‏ `.sourcesContent`}zero{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}two{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}few{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}many{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}other{‏‮Warning‬‏: ‏‮missing‬‏ # ‏‮items‬‏ ‏‮in‬‏ `.sourcesContent`}}"
1372
+ },
1373
+ "core/audits/valid-source-maps.js | title": {
1374
+ "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮valid‬‏ ‏‮source‬‏ ‏‮maps‬‏"
1375
+ },
1376
+ "core/audits/webmcp-form-coverage.js | columnForm": {
1377
+ "message": "‏‮Form‬‏"
1378
+ },
1379
+ "core/audits/webmcp-form-coverage.js | description": {
1380
+ "message": "‏‮Consider‬‏ ‏‮adding‬‏ [‏‮WebMCP‬‏](https://developer.chrome.com/docs/ai/webmcp) ‏‮annotations‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮forms‬‏ ‏‮listed‬‏ ‏‮below‬‏. ‏‮This‬‏ ‏‮helps‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮identify‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮these‬‏ ‏‮forms‬‏ ‏‮more‬‏ ‏‮reliably‬‏."
1381
+ },
1382
+ "core/audits/webmcp-form-coverage.js | displayValue": {
1383
+ "message": "{itemCount,plural, =1{1 ‏‮form‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}zero{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}two{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}few{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}many{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}other{# ‏‮forms‬‏ ‏‮missing‬‏ ‏‮annotations‬‏}}"
1384
+ },
1385
+ "core/audits/webmcp-form-coverage.js | title": {
1386
+ "message": "‏‮WebMCP‬‏ ‏‮form‬‏ ‏‮coverage‬‏"
1387
+ },
1388
+ "core/audits/webmcp-registered-tools.js | columnDeclarativeElement": {
1389
+ "message": "‏‮Element‬‏"
1390
+ },
1391
+ "core/audits/webmcp-registered-tools.js | columnDescription": {
1392
+ "message": "‏‮Description‬‏"
1393
+ },
1394
+ "core/audits/webmcp-registered-tools.js | columnImperativeLocation": {
1395
+ "message": "‏‮Source‬‏ ‏‮Location‬‏"
1396
+ },
1397
+ "core/audits/webmcp-registered-tools.js | columnInputSchema": {
1398
+ "message": "‏‮Input‬‏ ‏‮schema‬‏"
1399
+ },
1400
+ "core/audits/webmcp-registered-tools.js | columnTool": {
1401
+ "message": "‏‮Tool‬‏ ‏‮name‬‏"
1402
+ },
1403
+ "core/audits/webmcp-registered-tools.js | description": {
1404
+ "message": "‏‮Lists‬‏ ‏‮the‬‏ [‏‮WebMCP‬‏ ‏‮tools‬‏](https://developer.chrome.com/docs/ai/webmcp) ‏‮registered‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮of‬‏ ‏‮analysis‬‏."
1405
+ },
1406
+ "core/audits/webmcp-registered-tools.js | title": {
1407
+ "message": "‏‮WebMCP‬‏ ‏‮tools‬‏ ‏‮registered‬‏"
1408
+ },
1409
+ "core/audits/webmcp-registered-tools.js | titleDeclarativeTools": {
1410
+ "message": "‏‮Declarative‬‏ ‏‮Tools‬‏"
1411
+ },
1412
+ "core/audits/webmcp-registered-tools.js | titleImperativeTools": {
1413
+ "message": "‏‮Imperative‬‏ ‏‮Tools‬‏"
1414
+ },
1415
+ "core/audits/webmcp-schema-validity.js | columnElement": {
1416
+ "message": "‏‮Element‬‏"
1417
+ },
1418
+ "core/audits/webmcp-schema-validity.js | columnIssue": {
1419
+ "message": "‏‮Issue‬‏"
1420
+ },
1421
+ "core/audits/webmcp-schema-validity.js | description": {
1422
+ "message": "‏‮Valid‬‏ [‏‮WebMCP‬‏ ‏‮schemas‬‏](https://developer.chrome.com/docs/ai/webmcp) ‏‮are‬‏ ‏‮required‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏ ‏‮to‬‏ ‏‮understand‬‏ ‏‮and‬‏ ‏‮interact‬‏ ‏‮with‬‏ ‏‮tools‬‏ ‏‮correctly‬‏. ‏‮Please‬‏ ‏‮fix‬‏ ‏‮any‬‏ ‏‮errors‬‏ ‏‮or‬‏ ‏‮warnings‬‏ ‏‮reported‬‏ ‏‮by‬‏ ‏‮the‬‏ ‏‮browser‬‏."
1423
+ },
1424
+ "core/audits/webmcp-schema-validity.js | failureTitle": {
1425
+ "message": "‏‮WebMCP‬‏ ‏‮schemas‬‏ ‏‮are‬‏ ‏‮invalid‬‏"
1426
+ },
1427
+ "core/audits/webmcp-schema-validity.js | missingOptionalParamName": {
1428
+ "message": "‏‮Missing‬‏ `name` ‏‮attribute‬‏ ‏‮for‬‏ ‏‮an‬‏ ‏‮optional‬‏ ‏‮field‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮parameter‬‏ ‏‮name‬‏."
1429
+ },
1430
+ "core/audits/webmcp-schema-validity.js | missingParamDescription": {
1431
+ "message": "‏‮Add‬‏ ‏‮a‬‏ ‏‮description‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮this‬‏ ‏‮form‬‏ ‏‮more‬‏ ‏‮accessible‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1432
+ },
1433
+ "core/audits/webmcp-schema-validity.js | missingRequiredParamName": {
1434
+ "message": "‏‮Missing‬‏ `name` ‏‮attribute‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮required‬‏ ‏‮field‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮parameter‬‏ ‏‮name‬‏."
1435
+ },
1436
+ "core/audits/webmcp-schema-validity.js | missingToolDescription": {
1437
+ "message": "‏‮Form‬‏ ‏‮level‬‏ `tooldescription` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮describe‬‏ ‏‮the‬‏ ‏‮tool‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1438
+ },
1439
+ "core/audits/webmcp-schema-validity.js | missingToolName": {
1440
+ "message": "‏‮Form‬‏ ‏‮level‬‏ `toolname` ‏‮attribute‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮Add‬‏ ‏‮it‬‏ ‏‮to‬‏ ‏‮define‬‏ ‏‮the‬‏ ‏‮tool‬‏ ‏‮name‬‏."
1441
+ },
1442
+ "core/audits/webmcp-schema-validity.js | title": {
1443
+ "message": "‏‮WebMCP‬‏ ‏‮schemas‬‏ ‏‮are‬‏ ‏‮valid‬‏"
1444
+ },
1445
+ "core/config/agentic-browsing-config.js | agentAccessibilityGroupDescription": {
1446
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮highlight‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮for‬‏ ‏‮improving‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮website‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1447
+ },
1448
+ "core/config/agentic-browsing-config.js | agentAccessibilityGroupTitle": {
1449
+ "message": "‏‮Agent‬‏ ‏‮Accessibility‬‏"
1450
+ },
1451
+ "core/config/agentic-browsing-config.js | agentDiscoverabilityGroupDescription": {
1452
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮validate‬‏ ‏‮that‬‏ ‏‮websites‬‏ ‏‮expose‬‏ ‏‮discoverable‬‏ ‏‮resources‬‏, ‏‮documentation‬‏, ‏‮and‬‏ ‏‮catalogs‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1453
+ },
1454
+ "core/config/agentic-browsing-config.js | agentDiscoverabilityGroupTitle": {
1455
+ "message": "‏‮Agent‬‏ ‏‮Discoverability‬‏"
1456
+ },
1457
+ "core/config/agentic-browsing-config.js | agenticBrowsingCategoryDescription": {
1458
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮high‬‏-‏‮quality‬‏, [‏‮browsable‬‏ ‏‮websites‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏](https://goo.gle/lighthouse-agentic-web) ‏‮and‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮correctness‬‏ ‏‮of‬‏ ‏‮WebMCP‬‏ ‏‮integrations‬‏. ‏‮This‬‏ ‏‮category‬‏ ‏‮is‬‏ ‏‮still‬‏ ‏‮under‬‏ ‏‮development‬‏ ‏‮and‬‏ ‏‮subject‬‏ ‏‮to‬‏ ‏‮change‬‏."
1459
+ },
1460
+ "core/config/agentic-browsing-config.js | agenticBrowsingCategoryTitle": {
1461
+ "message": "‏‮Agentic‬‏ ‏‮Browsing‬‏"
1462
+ },
1463
+ "core/config/agentic-browsing-config.js | webmcpGroupDescription": {
1464
+ "message": "‏‮Audits‬‏ ‏‮validating‬‏ ‏‮WebMCP‬‏ ‏‮integration‬‏."
1465
+ },
1466
+ "core/config/agentic-browsing-config.js | webmcpGroupTitle": {
1467
+ "message": "‏‮WebMCP‬‏"
1468
+ },
1469
+ "core/config/default-config.js | a11yAriaGroupDescription": {
1470
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮usage‬‏ ‏‮of‬‏ ‏‮ARIA‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏ ‏‮which‬‏ ‏‮may‬‏ ‏‮enhance‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1471
+ },
1472
+ "core/config/default-config.js | a11yAriaGroupTitle": {
1473
+ "message": "‏‮ARIA‬‏"
1474
+ },
1475
+ "core/config/default-config.js | a11yAudioVideoGroupDescription": {
1476
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮provide‬‏ ‏‮alternative‬‏ ‏‮content‬‏ ‏‮for‬‏ ‏‮audio‬‏ ‏‮and‬‏ ‏‮video‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮with‬‏ ‏‮hearing‬‏ ‏‮or‬‏ ‏‮vision‬‏ ‏‮impairments‬‏."
1477
+ },
1478
+ "core/config/default-config.js | a11yAudioVideoGroupTitle": {
1479
+ "message": "‏‮Audio‬‏ ‏‮and‬‏ ‏‮video‬‏"
1480
+ },
1481
+ "core/config/default-config.js | a11yBestPracticesGroupDescription": {
1482
+ "message": "‏‮These‬‏ ‏‮items‬‏ ‏‮highlight‬‏ ‏‮common‬‏ ‏‮accessibility‬‏ ‏‮best‬‏ ‏‮practices‬‏."
1483
+ },
1484
+ "core/config/default-config.js | a11yBestPracticesGroupTitle": {
1485
+ "message": "‏‮Best‬‏ ‏‮practices‬‏"
1486
+ },
1487
+ "core/config/default-config.js | a11yCategoryDescription": {
1488
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮highlight‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ [‏‮improve‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮web‬‏ ‏‮app‬‏](https://developer.chrome.com/docs/lighthouse/accessibility/). ‏‮Automatic‬‏ ‏‮detection‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮detect‬‏ ‏‮a‬‏ ‏‮subset‬‏ ‏‮of‬‏ ‏‮issues‬‏ ‏‮and‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮guarantee‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮web‬‏ ‏‮app‬‏, ‏‮so‬‏ [‏‮manual‬‏ ‏‮testing‬‏](https://web.dev/articles/how-to-review) ‏‮is‬‏ ‏‮also‬‏ ‏‮encouraged‬‏."
1489
+ },
1490
+ "core/config/default-config.js | a11yCategoryManualDescription": {
1491
+ "message": "‏‮These‬‏ ‏‮items‬‏ ‏‮address‬‏ ‏‮areas‬‏ ‏‮which‬‏ ‏‮an‬‏ ‏‮automated‬‏ ‏‮testing‬‏ ‏‮tool‬‏ ‏‮cannot‬‏ ‏‮cover‬‏. ‏‮Learn‬‏ ‏‮more‬‏ ‏‮in‬‏ ‏‮our‬‏ ‏‮guide‬‏ ‏‮on‬‏ [‏‮conducting‬‏ ‏‮an‬‏ ‏‮accessibility‬‏ ‏‮review‬‏](https://web.dev/articles/how-to-review)."
1492
+ },
1493
+ "core/config/default-config.js | a11yCategoryTitle": {
1494
+ "message": "‏‮Accessibility‬‏"
1495
+ },
1496
+ "core/config/default-config.js | a11yColorContrastGroupDescription": {
1497
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮legibility‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮content‬‏."
1498
+ },
1499
+ "core/config/default-config.js | a11yColorContrastGroupTitle": {
1500
+ "message": "‏‮Contrast‬‏"
1501
+ },
1502
+ "core/config/default-config.js | a11yLanguageGroupDescription": {
1503
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮interpretation‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮content‬‏ ‏‮by‬‏ ‏‮users‬‏ ‏‮in‬‏ ‏‮different‬‏ ‏‮locales‬‏."
1504
+ },
1505
+ "core/config/default-config.js | a11yLanguageGroupTitle": {
1506
+ "message": "‏‮Internationalization‬‏ ‏‮and‬‏ ‏‮localization‬‏"
1507
+ },
1508
+ "core/config/default-config.js | a11yNamesLabelsGroupDescription": {
1509
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮semantics‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮controls‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮This‬‏ ‏‮may‬‏ ‏‮enhance‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮users‬‏ ‏‮of‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1510
+ },
1511
+ "core/config/default-config.js | a11yNamesLabelsGroupTitle": {
1512
+ "message": "‏‮Names‬‏ ‏‮and‬‏ ‏‮labels‬‏"
1513
+ },
1514
+ "core/config/default-config.js | a11yNavigationGroupDescription": {
1515
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮keyboard‬‏ ‏‮navigation‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮application‬‏."
1516
+ },
1517
+ "core/config/default-config.js | a11yNavigationGroupTitle": {
1518
+ "message": "‏‮Navigation‬‏"
1519
+ },
1520
+ "core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
1521
+ "message": "‏‮These‬‏ ‏‮are‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮of‬‏ ‏‮reading‬‏ ‏‮tabular‬‏ ‏‮or‬‏ ‏‮list‬‏ ‏‮data‬‏ ‏‮using‬‏ ‏‮assistive‬‏ ‏‮technology‬‏, ‏‮like‬‏ ‏‮a‬‏ ‏‮screen‬‏ ‏‮reader‬‏."
1522
+ },
1523
+ "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1524
+ "message": "‏‮Tables‬‏ ‏‮and‬‏ ‏‮lists‬‏"
1525
+ },
1526
+ "core/config/default-config.js | agentAccessibilityGroupDescription": {
1527
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮highlight‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮for‬‏ ‏‮improving‬‏ ‏‮the‬‏ ‏‮accessibility‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮website‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1528
+ },
1529
+ "core/config/default-config.js | agentAccessibilityGroupTitle": {
1530
+ "message": "‏‮Agent‬‏ ‏‮Accessibility‬‏"
1531
+ },
1532
+ "core/config/default-config.js | agentDiscoverabilityGroupDescription": {
1533
+ "message": "‏‮These‬‏ ‏‮audits‬‏ ‏‮validate‬‏ ‏‮that‬‏ ‏‮websites‬‏ ‏‮expose‬‏ ‏‮discoverable‬‏ ‏‮resources‬‏, ‏‮documentation‬‏, ‏‮and‬‏ ‏‮catalogs‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏."
1534
+ },
1535
+ "core/config/default-config.js | agentDiscoverabilityGroupTitle": {
1536
+ "message": "‏‮Agent‬‏ ‏‮Discoverability‬‏"
1537
+ },
1538
+ "core/config/default-config.js | agenticBrowsingCategoryDescription": {
1539
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮high‬‏-‏‮quality‬‏, [‏‮browsable‬‏ ‏‮websites‬‏ ‏‮for‬‏ ‏‮AI‬‏ ‏‮agents‬‏](https://goo.gle/lighthouse-agentic-web) ‏‮and‬‏ ‏‮validate‬‏ ‏‮the‬‏ ‏‮correctness‬‏ ‏‮of‬‏ ‏‮WebMCP‬‏ ‏‮integrations‬‏. ‏‮This‬‏ ‏‮category‬‏ ‏‮is‬‏ ‏‮still‬‏ ‏‮under‬‏ ‏‮development‬‏ ‏‮and‬‏ ‏‮subject‬‏ ‏‮to‬‏ ‏‮change‬‏."
1540
+ },
1541
+ "core/config/default-config.js | agenticBrowsingCategoryTitle": {
1542
+ "message": "‏‮Agentic‬‏ ‏‮Browsing‬‏"
1543
+ },
1544
+ "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1545
+ "message": "‏‮Browser‬‏ ‏‮Compatibility‬‏"
1546
+ },
1547
+ "core/config/default-config.js | bestPracticesCategoryTitle": {
1548
+ "message": "‏‮Best‬‏ ‏‮Practices‬‏"
1549
+ },
1550
+ "core/config/default-config.js | bestPracticesGeneralGroupTitle": {
1551
+ "message": "‏‮General‬‏"
1552
+ },
1553
+ "core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
1554
+ "message": "‏‮Trust‬‏ ‏‮and‬‏ ‏‮Safety‬‏"
1555
+ },
1556
+ "core/config/default-config.js | bestPracticesUXGroupTitle": {
1557
+ "message": "‏‮User‬‏ ‏‮Experience‬‏"
1558
+ },
1559
+ "core/config/default-config.js | diagnosticsGroupDescription": {
1560
+ "message": "‏‮More‬‏ ‏‮information‬‏ ‏‮about‬‏ ‏‮the‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮These‬‏ ‏‮numbers‬‏ ‏‮don‬‏'‏‮t‬‏ [‏‮directly‬‏ ‏‮affect‬‏](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) ‏‮the‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1561
+ },
1562
+ "core/config/default-config.js | diagnosticsGroupTitle": {
1563
+ "message": "‏‮Diagnostics‬‏"
1564
+ },
1565
+ "core/config/default-config.js | firstPaintImprovementsGroupDescription": {
1566
+ "message": "‏‮The‬‏ ‏‮most‬‏ ‏‮critical‬‏ ‏‮aspect‬‏ ‏‮of‬‏ ‏‮performance‬‏ ‏‮is‬‏ ‏‮how‬‏ ‏‮quickly‬‏ ‏‮pixels‬‏ ‏‮are‬‏ ‏‮rendered‬‏ ‏‮onscreen‬‏. ‏‮Key‬‏ ‏‮metrics‬‏: ‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏, ‏‮First‬‏ ‏‮Meaningful‬‏ ‏‮Paint‬‏"
1567
+ },
1568
+ "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1569
+ "message": "‏‮First‬‏ ‏‮Paint‬‏ ‏‮Improvements‬‏"
1570
+ },
1571
+ "core/config/default-config.js | insightsGroupDescription": {
1572
+ "message": "‏‮These‬‏ ‏‮insights‬‏ ‏‮are‬‏ ‏‮also‬‏ ‏‮available‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏ ‏‮Performance‬‏ ‏‮Panel‬‏ - [‏‮record‬‏ ‏‮a‬‏ ‏‮trace‬‏](https://developer.chrome.com/docs/devtools/performance/reference) ‏‮to‬‏ ‏‮view‬‏ ‏‮more‬‏ ‏‮detailed‬‏ ‏‮information‬‏."
1573
+ },
1574
+ "core/config/default-config.js | insightsGroupTitle": {
1575
+ "message": "‏‮Insights‬‏"
1576
+ },
1577
+ "core/config/default-config.js | metricGroupTitle": {
1578
+ "message": "‏‮Metrics‬‏"
1579
+ },
1580
+ "core/config/default-config.js | overallImprovementsGroupDescription": {
1581
+ "message": "‏‮Enhance‬‏ ‏‮the‬‏ ‏‮overall‬‏ ‏‮loading‬‏ ‏‮experience‬‏, ‏‮so‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮responsive‬‏ ‏‮and‬‏ ‏‮ready‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮as‬‏ ‏‮soon‬‏ ‏‮as‬‏ ‏‮possible‬‏. ‏‮Key‬‏ ‏‮metrics‬‏: ‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏, ‏‮Speed‬‏ ‏‮Index‬‏"
1582
+ },
1583
+ "core/config/default-config.js | overallImprovementsGroupTitle": {
1584
+ "message": "‏‮Overall‬‏ ‏‮Improvements‬‏"
1585
+ },
1586
+ "core/config/default-config.js | performanceCategoryTitle": {
1587
+ "message": "‏‮Performance‬‏"
1588
+ },
1589
+ "core/config/default-config.js | seoCategoryDescription": {
1590
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮following‬‏ ‏‮basic‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮optimization‬‏ ‏‮advice‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ ‏‮additional‬‏ ‏‮factors‬‏ ‏‮Lighthouse‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮score‬‏ ‏‮here‬‏ ‏‮that‬‏ ‏‮may‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮search‬‏ ‏‮ranking‬‏, ‏‮including‬‏ ‏‮performance‬‏ ‏‮on‬‏ [‏‮Core‬‏ ‏‮Web‬‏ ‏‮Vitals‬‏](https://web.dev/explore/vitals). [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Google‬‏ ‏‮Search‬‏ ‏‮Essentials‬‏](https://support.google.com/webmasters/answer/35769)."
1591
+ },
1592
+ "core/config/default-config.js | seoCategoryManualDescription": {
1593
+ "message": "‏‮Run‬‏ ‏‮these‬‏ ‏‮additional‬‏ ‏‮validators‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮to‬‏ ‏‮check‬‏ ‏‮additional‬‏ ‏‮SEO‬‏ ‏‮best‬‏ ‏‮practices‬‏."
1594
+ },
1595
+ "core/config/default-config.js | seoCategoryTitle": {
1596
+ "message": "‏‮SEO‬‏"
1597
+ },
1598
+ "core/config/default-config.js | seoContentGroupDescription": {
1599
+ "message": "‏‮Format‬‏ ‏‮your‬‏ ‏‮HTML‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮way‬‏ ‏‮that‬‏ ‏‮enables‬‏ ‏‮crawlers‬‏ ‏‮to‬‏ ‏‮better‬‏ ‏‮understand‬‏ ‏‮your‬‏ ‏‮app‬‏’‏‮s‬‏ ‏‮content‬‏."
1600
+ },
1601
+ "core/config/default-config.js | seoContentGroupTitle": {
1602
+ "message": "‏‮Content‬‏ ‏‮Best‬‏ ‏‮Practices‬‏"
1603
+ },
1604
+ "core/config/default-config.js | seoCrawlingGroupDescription": {
1605
+ "message": "‏‮To‬‏ ‏‮appear‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏, ‏‮crawlers‬‏ ‏‮need‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮app‬‏."
1606
+ },
1607
+ "core/config/default-config.js | seoCrawlingGroupTitle": {
1608
+ "message": "‏‮Crawling‬‏ ‏‮and‬‏ ‏‮Indexing‬‏"
1609
+ },
1610
+ "core/config/default-config.js | seoMobileGroupDescription": {
1611
+ "message": "‏‮Make‬‏ ‏‮sure‬‏ ‏‮your‬‏ ‏‮pages‬‏ ‏‮are‬‏ ‏‮mobile‬‏ ‏‮friendly‬‏ ‏‮so‬‏ ‏‮users‬‏ ‏‮don‬‏’‏‮t‬‏ ‏‮have‬‏ ‏‮to‬‏ ‏‮pinch‬‏ ‏‮or‬‏ ‏‮zoom‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮read‬‏ ‏‮the‬‏ ‏‮content‬‏ ‏‮pages‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮pages‬‏ ‏‮mobile‬‏-‏‮friendly‬‏](https://developers.google.com/search/mobile-sites/)."
1612
+ },
1613
+ "core/config/default-config.js | seoMobileGroupTitle": {
1614
+ "message": "‏‮Mobile‬‏ ‏‮Friendly‬‏"
1615
+ },
1616
+ "core/config/default-config.js | webmcpGroupDescription": {
1617
+ "message": "‏‮Audits‬‏ ‏‮validating‬‏ ‏‮WebMCP‬‏ ‏‮integration‬‏."
1618
+ },
1619
+ "core/config/default-config.js | webmcpGroupTitle": {
1620
+ "message": "‏‮WebMCP‬‏"
1621
+ },
1622
+ "core/gather/driver/environment.js | warningSlowHostCpu": {
1623
+ "message": "‏‮The‬‏ ‏‮tested‬‏ ‏‮device‬‏ ‏‮appears‬‏ ‏‮to‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮slower‬‏ ‏‮CPU‬‏ ‏‮than‬‏ ‏‮Lighthouse‬‏ ‏‮expects‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮negatively‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮performance‬‏ ‏‮score‬‏. ‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ [‏‮calibrating‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮CPU‬‏ ‏‮slowdown‬‏ ‏‮multiplier‬‏](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
1624
+ },
1625
+ "core/gather/driver/navigation.js | warningRedirected": {
1626
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮may‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮loading‬‏ ‏‮as‬‏ ‏‮expected‬‏ ‏‮because‬‏ ‏‮your‬‏ ‏‮test‬‏ ‏‮URL‬‏ ({requested}) ‏‮was‬‏ ‏‮redirected‬‏ ‏‮to‬‏ {final}. ‏‮Try‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮second‬‏ ‏‮URL‬‏ ‏‮directly‬‏."
1627
+ },
1628
+ "core/gather/driver/navigation.js | warningTimeout": {
1629
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮loaded‬‏ ‏‮too‬‏ ‏‮slowly‬‏ ‏‮to‬‏ ‏‮finish‬‏ ‏‮within‬‏ ‏‮the‬‏ ‏‮time‬‏ ‏‮limit‬‏. ‏‮Results‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮incomplete‬‏."
1630
+ },
1631
+ "core/gather/driver/storage.js | warningCacheTimeout": {
1632
+ "message": "‏‮Clearing‬‏ ‏‮the‬‏ ‏‮browser‬‏ ‏‮cache‬‏ ‏‮timed‬‏ ‏‮out‬‏. ‏‮Try‬‏ ‏‮auditing‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮again‬‏ ‏‮and‬‏ ‏‮file‬‏ ‏‮a‬‏ ‏‮bug‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮issue‬‏ ‏‮persists‬‏."
1633
+ },
1634
+ "core/gather/driver/storage.js | warningData": {
1635
+ "message": "{locationCount,plural, =1{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮location‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}zero{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}two{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}few{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}many{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}other{‏‮There‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮stored‬‏ ‏‮data‬‏ ‏‮affecting‬‏ ‏‮loading‬‏ ‏‮performance‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮locations‬‏: {locations}. ‏‮Audit‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮an‬‏ ‏‮incognito‬‏ ‏‮window‬‏ ‏‮to‬‏ ‏‮prevent‬‏ ‏‮those‬‏ ‏‮resources‬‏ ‏‮from‬‏ ‏‮affecting‬‏ ‏‮your‬‏ ‏‮scores‬‏.}}"
1636
+ },
1637
+ "core/gather/driver/storage.js | warningOriginDataTimeout": {
1638
+ "message": "‏‮Clearing‬‏ ‏‮the‬‏ ‏‮origin‬‏ ‏‮data‬‏ ‏‮timed‬‏ ‏‮out‬‏. ‏‮Try‬‏ ‏‮auditing‬‏ ‏‮this‬‏ ‏‮page‬‏ ‏‮again‬‏ ‏‮and‬‏ ‏‮file‬‏ ‏‮a‬‏ ‏‮bug‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮issue‬‏ ‏‮persists‬‏."
1639
+ },
1640
+ "core/gather/gatherers/link-elements.js | headerParseWarning": {
1641
+ "message": "‏‮Error‬‏ ‏‮parsing‬‏ `link` ‏‮header‬‏ ({error}): `{header}`"
1642
+ },
1643
+ "core/gather/timespan-runner.js | warningNavigationDetected": {
1644
+ "message": "‏‮A‬‏ ‏‮page‬‏ ‏‮navigation‬‏ ‏‮was‬‏ ‏‮detected‬‏ ‏‮during‬‏ ‏‮the‬‏ ‏‮run‬‏. ‏‮Using‬‏ ‏‮timespan‬‏ ‏‮mode‬‏ ‏‮to‬‏ ‏‮audit‬‏ ‏‮page‬‏ ‏‮navigations‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮recommended‬‏. ‏‮Use‬‏ ‏‮navigation‬‏ ‏‮mode‬‏ ‏‮to‬‏ ‏‮audit‬‏ ‏‮page‬‏ ‏‮navigations‬‏ ‏‮for‬‏ ‏‮better‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮attribution‬‏ ‏‮and‬‏ ‏‮main‬‏ ‏‮thread‬‏ ‏‮detection‬‏."
1645
+ },
1646
+ "core/lib/csp-evaluator.js | allowlistFallback": {
1647
+ "message": "‏‮Consider‬‏ ‏‮adding‬‏ ‏‮https‬‏: ‏‮and‬‏ ‏‮http‬‏: ‏‮URL‬‏ ‏‮schemes‬‏ (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ `'strict-dynamic'`) ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
1648
+ },
1649
+ "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1650
+ "message": "`disown-opener` ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏3. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮Cross‬‏-‏‮Origin‬‏-‏‮Opener‬‏-‏‮Policy‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1651
+ },
1652
+ "core/lib/csp-evaluator.js | deprecatedReferrer": {
1653
+ "message": "`referrer` ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏2. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮Referrer‬‏-‏‮Policy‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1654
+ },
1655
+ "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1656
+ "message": "`reflected-xss` ‏‮is‬‏ ‏‮deprecated‬‏ ‏‮since‬‏ ‏‮CSP‬‏2. ‏‮Please‬‏, ‏‮use‬‏ ‏‮the‬‏ ‏‮X‬‏-‏‮XSS‬‏-‏‮Protection‬‏ ‏‮header‬‏ ‏‮instead‬‏."
1657
+ },
1658
+ "core/lib/csp-evaluator.js | missingBaseUri": {
1659
+ "message": "‏‮Missing‬‏ `base-uri` ‏‮allows‬‏ ‏‮injected‬‏ `<base>` ‏‮tags‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮base‬‏ ‏‮URL‬‏ ‏‮for‬‏ ‏‮all‬‏ ‏‮relative‬‏ ‏‮URLs‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮scripts‬‏) ‏‮to‬‏ ‏‮an‬‏ ‏‮attacker‬‏ ‏‮controlled‬‏ ‏‮domain‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ `base-uri` ‏‮to‬‏ `'none'` ‏‮or‬‏ `'self'`."
1660
+ },
1661
+ "core/lib/csp-evaluator.js | missingObjectSrc": {
1662
+ "message": "‏‮Missing‬‏ `object-src` ‏‮allows‬‏ ‏‮the‬‏ ‏‮injection‬‏ ‏‮of‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮execute‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ `object-src` ‏‮to‬‏ `'none'` ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏."
1663
+ },
1664
+ "core/lib/csp-evaluator.js | missingScriptSrc": {
1665
+ "message": "`script-src` ‏‮directive‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮allow‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏."
1666
+ },
1667
+ "core/lib/csp-evaluator.js | missingSemicolon": {
1668
+ "message": "‏‮Did‬‏ ‏‮you‬‏ ‏‮forget‬‏ ‏‮the‬‏ ‏‮semicolon‬‏? {keyword} ‏‮seems‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮a‬‏ ‏‮directive‬‏, ‏‮not‬‏ ‏‮a‬‏ ‏‮keyword‬‏."
1669
+ },
1670
+ "core/lib/csp-evaluator.js | nonceCharset": {
1671
+ "message": "‏‮Nonces‬‏ ‏‮should‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮base‬‏64 ‏‮charset‬‏."
1672
+ },
1673
+ "core/lib/csp-evaluator.js | nonceLength": {
1674
+ "message": "‏‮Nonces‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮at‬‏ ‏‮least‬‏ 8 ‏‮characters‬‏ ‏‮long‬‏."
1675
+ },
1676
+ "core/lib/csp-evaluator.js | plainUrlScheme": {
1677
+ "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1678
+ },
1679
+ "core/lib/csp-evaluator.js | plainWildcards": {
1680
+ "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮wildcards‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮wildcards‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1681
+ },
1682
+ "core/lib/csp-evaluator.js | reportToOnly": {
1683
+ "message": "‏‮The‬‏ ‏‮reporting‬‏ ‏‮destination‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮configured‬‏ ‏‮via‬‏ ‏‮the‬‏ ‏‮report‬‏-‏‮to‬‏ ‏‮directive‬‏. ‏‮This‬‏ ‏‮directive‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮supported‬‏ ‏‮in‬‏ ‏‮Chromium‬‏-‏‮based‬‏ ‏‮browsers‬‏ ‏‮so‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮recommended‬‏ ‏‮to‬‏ ‏‮also‬‏ ‏‮use‬‏ ‏‮a‬‏ `report-uri` ‏‮directive‬‏."
1684
+ },
1685
+ "core/lib/csp-evaluator.js | reportingDestinationMissing": {
1686
+ "message": "‏‮No‬‏ ‏‮CSP‬‏ ‏‮configures‬‏ ‏‮a‬‏ ‏‮reporting‬‏ ‏‮destination‬‏. ‏‮This‬‏ ‏‮makes‬‏ ‏‮it‬‏ ‏‮difficult‬‏ ‏‮to‬‏ ‏‮maintain‬‏ ‏‮the‬‏ ‏‮CSP‬‏ ‏‮over‬‏ ‏‮time‬‏ ‏‮and‬‏ ‏‮monitor‬‏ ‏‮for‬‏ ‏‮any‬‏ ‏‮breakages‬‏."
1687
+ },
1688
+ "core/lib/csp-evaluator.js | strictDynamic": {
1689
+ "message": "‏‮Host‬‏ ‏‮allowlists‬‏ ‏‮can‬‏ ‏‮frequently‬‏ ‏‮be‬‏ ‏‮bypassed‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮instead‬‏, ‏‮along‬‏ ‏‮with‬‏ `'strict-dynamic'` ‏‮if‬‏ ‏‮necessary‬‏."
1690
+ },
1691
+ "core/lib/csp-evaluator.js | unknownDirective": {
1692
+ "message": "‏‮Unknown‬‏ ‏‮CSP‬‏ ‏‮directive‬‏."
1693
+ },
1694
+ "core/lib/csp-evaluator.js | unknownKeyword": {
1695
+ "message": "{keyword} ‏‮seems‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮invalid‬‏ ‏‮keyword‬‏."
1696
+ },
1697
+ "core/lib/csp-evaluator.js | unsafeInline": {
1698
+ "message": "`'unsafe-inline'` ‏‮allows‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮in‬‏-‏‮page‬‏ ‏‮scripts‬‏ ‏‮and‬‏ ‏‮event‬‏ ‏‮handlers‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮to‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮individually‬‏."
1699
+ },
1700
+ "core/lib/csp-evaluator.js | unsafeInlineFallback": {
1701
+ "message": "‏‮Consider‬‏ ‏‮adding‬‏ `'unsafe-inline'` (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ ‏‮nonces‬‏/‏‮hashes‬‏) ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
1702
+ },
1703
+ "core/lib/deprecation-description.js | feature": {
1704
+ "message": "‏‮Check‬‏ ‏‮the‬‏ ‏‮feature‬‏ ‏‮status‬‏ ‏‮page‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮details‬‏."
1705
+ },
1706
+ "core/lib/deprecation-description.js | milestone": {
1707
+ "message": "‏‮This‬‏ ‏‮change‬‏ ‏‮will‬‏ ‏‮go‬‏ ‏‮into‬‏ ‏‮effect‬‏ ‏‮with‬‏ ‏‮milestone‬‏ {milestone}."
1708
+ },
1709
+ "core/lib/deprecation-description.js | title": {
1710
+ "message": "‏‮Deprecated‬‏ ‏‮Feature‬‏ ‏‮Used‬‏"
1711
+ },
1712
+ "core/lib/i18n/i18n.js | columnBlockingTime": {
1713
+ "message": "‏‮Main‬‏-‏‮Thread‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏"
1714
+ },
1715
+ "core/lib/i18n/i18n.js | columnCacheTTL": {
1716
+ "message": "‏‮Cache‬‏ ‏‮TTL‬‏"
1717
+ },
1718
+ "core/lib/i18n/i18n.js | columnDescription": {
1719
+ "message": "‏‮Description‬‏"
1720
+ },
1721
+ "core/lib/i18n/i18n.js | columnDuration": {
1722
+ "message": "‏‮Duration‬‏"
1723
+ },
1724
+ "core/lib/i18n/i18n.js | columnElement": {
1725
+ "message": "‏‮Element‬‏"
1726
+ },
1727
+ "core/lib/i18n/i18n.js | columnFailingElem": {
1728
+ "message": "‏‮Failing‬‏ ‏‮Elements‬‏"
1729
+ },
1730
+ "core/lib/i18n/i18n.js | columnLocation": {
1731
+ "message": "‏‮Location‬‏"
1732
+ },
1733
+ "core/lib/i18n/i18n.js | columnName": {
1734
+ "message": "‏‮Name‬‏"
1735
+ },
1736
+ "core/lib/i18n/i18n.js | columnRequests": {
1737
+ "message": "‏‮Requests‬‏"
1738
+ },
1739
+ "core/lib/i18n/i18n.js | columnResourceSize": {
1740
+ "message": "‏‮Resource‬‏ ‏‮Size‬‏"
1741
+ },
1742
+ "core/lib/i18n/i18n.js | columnResourceType": {
1743
+ "message": "‏‮Resource‬‏ ‏‮Type‬‏"
1744
+ },
1745
+ "core/lib/i18n/i18n.js | columnSize": {
1746
+ "message": "‏‮Size‬‏"
1747
+ },
1748
+ "core/lib/i18n/i18n.js | columnSource": {
1749
+ "message": "‏‮Source‬‏"
1750
+ },
1751
+ "core/lib/i18n/i18n.js | columnStartTime": {
1752
+ "message": "‏‮Start‬‏ ‏‮Time‬‏"
1753
+ },
1754
+ "core/lib/i18n/i18n.js | columnTimeSpent": {
1755
+ "message": "‏‮Time‬‏ ‏‮Spent‬‏"
1756
+ },
1757
+ "core/lib/i18n/i18n.js | columnTransferSize": {
1758
+ "message": "‏‮Transfer‬‏ ‏‮Size‬‏"
1759
+ },
1760
+ "core/lib/i18n/i18n.js | columnURL": {
1761
+ "message": "‏‮URL‬‏"
1762
+ },
1763
+ "core/lib/i18n/i18n.js | columnWastedBytes": {
1764
+ "message": "‏‮Est‬‏ ‏‮Savings‬‏"
1765
+ },
1766
+ "core/lib/i18n/i18n.js | columnWastedMs": {
1767
+ "message": "‏‮Est‬‏ ‏‮Savings‬‏"
1768
+ },
1769
+ "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1770
+ "message": "‏‮Cumulative‬‏ ‏‮Layout‬‏ ‏‮Shift‬‏"
1771
+ },
1772
+ "core/lib/i18n/i18n.js | displayValueByteSavings": {
1773
+ "message": "‏‮Est‬‏ ‏‮savings‬‏ ‏‮of‬‏ {wastedBytes, number, bytes} ‏‮KiB‬‏"
1774
+ },
1775
+ "core/lib/i18n/i18n.js | displayValueElementsFound": {
1776
+ "message": "{nodeCount,plural, =1{1 ‏‮element‬‏ ‏‮found‬‏}zero{# ‏‮elements‬‏ ‏‮found‬‏}two{# ‏‮elements‬‏ ‏‮found‬‏}few{# ‏‮elements‬‏ ‏‮found‬‏}many{# ‏‮elements‬‏ ‏‮found‬‏}other{# ‏‮elements‬‏ ‏‮found‬‏}}"
1777
+ },
1778
+ "core/lib/i18n/i18n.js | displayValueMsSavings": {
1779
+ "message": "‏‮Est‬‏ ‏‮savings‬‏ ‏‮of‬‏ {wastedMs, number, milliseconds} ‏‮ms‬‏"
1780
+ },
1781
+ "core/lib/i18n/i18n.js | documentResourceType": {
1782
+ "message": "‏‮Document‬‏"
1783
+ },
1784
+ "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1785
+ "message": "‏‮First‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏"
1786
+ },
1787
+ "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1788
+ "message": "‏‮First‬‏ ‏‮Meaningful‬‏ ‏‮Paint‬‏"
1789
+ },
1790
+ "core/lib/i18n/i18n.js | fontResourceType": {
1791
+ "message": "‏‮Font‬‏"
1792
+ },
1793
+ "core/lib/i18n/i18n.js | imageResourceType": {
1794
+ "message": "‏‮Image‬‏"
1795
+ },
1796
+ "core/lib/i18n/i18n.js | interactionToNextPaint": {
1797
+ "message": "‏‮Interaction‬‏ ‏‮to‬‏ ‏‮Next‬‏ ‏‮Paint‬‏"
1798
+ },
1799
+ "core/lib/i18n/i18n.js | interactiveMetric": {
1800
+ "message": "‏‮Time‬‏ ‏‮to‬‏ ‏‮Interactive‬‏"
1801
+ },
1802
+ "core/lib/i18n/i18n.js | itemSeverityHigh": {
1803
+ "message": "‏‮High‬‏"
1804
+ },
1805
+ "core/lib/i18n/i18n.js | itemSeverityLow": {
1806
+ "message": "‏‮Low‬‏"
1807
+ },
1808
+ "core/lib/i18n/i18n.js | itemSeverityMedium": {
1809
+ "message": "‏‮Medium‬‏"
1810
+ },
1811
+ "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1812
+ "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏"
1813
+ },
1814
+ "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1815
+ "message": "‏‮Max‬‏ ‏‮Potential‬‏ ‏‮First‬‏ ‏‮Input‬‏ ‏‮Delay‬‏"
1816
+ },
1817
+ "core/lib/i18n/i18n.js | mediaResourceType": {
1818
+ "message": "‏‮Media‬‏"
1819
+ },
1820
+ "core/lib/i18n/i18n.js | ms": {
1821
+ "message": "{timeInMs, number, milliseconds} ‏‮ms‬‏"
1822
+ },
1823
+ "core/lib/i18n/i18n.js | otherResourceType": {
1824
+ "message": "‏‮Other‬‏"
1825
+ },
1826
+ "core/lib/i18n/i18n.js | otherResourcesLabel": {
1827
+ "message": "‏‮Other‬‏ ‏‮resources‬‏"
1828
+ },
1829
+ "core/lib/i18n/i18n.js | scriptResourceType": {
1830
+ "message": "‏‮Script‬‏"
1831
+ },
1832
+ "core/lib/i18n/i18n.js | seconds": {
1833
+ "message": "{timeInMs, number, seconds} ‏‮s‬‏"
1834
+ },
1835
+ "core/lib/i18n/i18n.js | speedIndexMetric": {
1836
+ "message": "‏‮Speed‬‏ ‏‮Index‬‏"
1837
+ },
1838
+ "core/lib/i18n/i18n.js | stylesheetResourceType": {
1839
+ "message": "‏‮Stylesheet‬‏"
1840
+ },
1841
+ "core/lib/i18n/i18n.js | thirdPartyResourceType": {
1842
+ "message": "‏‮Third‬‏-‏‮party‬‏"
1843
+ },
1844
+ "core/lib/i18n/i18n.js | total": {
1845
+ "message": "‏‮Total‬‏"
1846
+ },
1847
+ "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
1848
+ "message": "‏‮Total‬‏ ‏‮Blocking‬‏ ‏‮Time‬‏"
1849
+ },
1850
+ "core/lib/i18n/i18n.js | totalResourceType": {
1851
+ "message": "‏‮Total‬‏"
1852
+ },
1853
+ "core/lib/lh-error.js | badTraceRecording": {
1854
+ "message": "‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong‬‏ ‏‮with‬‏ ‏‮recording‬‏ ‏‮the‬‏ ‏‮trace‬‏ ‏‮over‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮run‬‏ ‏‮Lighthouse‬‏ ‏‮again‬‏. ({errorCode})"
1855
+ },
1856
+ "core/lib/lh-error.js | criTimeout": {
1857
+ "message": "‏‮Timeout‬‏ ‏‮waiting‬‏ ‏‮for‬‏ ‏‮initial‬‏ ‏‮Debugger‬‏ ‏‮Protocol‬‏ ‏‮connection‬‏."
1858
+ },
1859
+ "core/lib/lh-error.js | didntCollectScreenshots": {
1860
+ "message": "‏‮Chrome‬‏ ‏‮didn‬‏'‏‮t‬‏ ‏‮collect‬‏ ‏‮any‬‏ ‏‮screenshots‬‏ ‏‮during‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮make‬‏ ‏‮sure‬‏ ‏‮there‬‏ ‏‮is‬‏ ‏‮content‬‏ ‏‮visible‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮and‬‏ ‏‮then‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏. ({errorCode})"
1861
+ },
1862
+ "core/lib/lh-error.js | dnsFailure": {
1863
+ "message": "‏‮DNS‬‏ ‏‮servers‬‏ ‏‮could‬‏ ‏‮not‬‏ ‏‮resolve‬‏ ‏‮the‬‏ ‏‮provided‬‏ ‏‮domain‬‏."
1864
+ },
1865
+ "core/lib/lh-error.js | erroredRequiredArtifact": {
1866
+ "message": "‏‮Required‬‏ {artifactName} ‏‮gatherer‬‏ ‏‮encountered‬‏ ‏‮an‬‏ ‏‮error‬‏: {errorMessage}"
1867
+ },
1868
+ "core/lib/lh-error.js | internalChromeError": {
1869
+ "message": "‏‮An‬‏ ‏‮internal‬‏ ‏‮Chrome‬‏ ‏‮error‬‏ ‏‮occurred‬‏. ‏‮Please‬‏ ‏‮restart‬‏ ‏‮Chrome‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏."
1870
+ },
1871
+ "core/lib/lh-error.js | missingRequiredArtifact": {
1872
+ "message": "‏‮Required‬‏ {artifactName} ‏‮gatherer‬‏ ‏‮did‬‏ ‏‮not‬‏ ‏‮run‬‏."
1873
+ },
1874
+ "core/lib/lh-error.js | noFcp": {
1875
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮did‬‏ ‏‮not‬‏ ‏‮paint‬‏ ‏‮any‬‏ ‏‮content‬‏. ‏‮Please‬‏ ‏‮ensure‬‏ ‏‮you‬‏ ‏‮keep‬‏ ‏‮the‬‏ ‏‮browser‬‏ ‏‮window‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮foreground‬‏ ‏‮during‬‏ ‏‮the‬‏ ‏‮load‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again‬‏. ({errorCode})"
1876
+ },
1877
+ "core/lib/lh-error.js | noLcp": {
1878
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮did‬‏ ‏‮not‬‏ ‏‮display‬‏ ‏‮content‬‏ ‏‮that‬‏ ‏‮qualifies‬‏ ‏‮as‬‏ ‏‮a‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ (‏‮LCP‬‏). ‏‮Ensure‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮has‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮LCP‬‏ ‏‮element‬‏ ‏‮and‬‏ ‏‮then‬‏ ‏‮try‬‏ ‏‮again‬‏. ({errorCode})"
1879
+ },
1880
+ "core/lib/lh-error.js | notHtml": {
1881
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮provided‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮HTML‬‏ (‏‮served‬‏ ‏‮as‬‏ ‏‮MIME‬‏ ‏‮type‬‏ {mimeType})."
1882
+ },
1883
+ "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
1884
+ "message": "‏‮This‬‏ ‏‮version‬‏ ‏‮of‬‏ ‏‮Chrome‬‏ ‏‮is‬‏ ‏‮too‬‏ ‏‮old‬‏ ‏‮to‬‏ ‏‮support‬‏ '{featureName}'. ‏‮Use‬‏ ‏‮a‬‏ ‏‮newer‬‏ ‏‮version‬‏ ‏‮to‬‏ ‏‮see‬‏ ‏‮full‬‏ ‏‮results‬‏."
1885
+ },
1886
+ "core/lib/lh-error.js | pageLoadFailed": {
1887
+ "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏."
1888
+ },
1889
+ "core/lib/lh-error.js | pageLoadFailedHung": {
1890
+ "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮requested‬‏ ‏‮because‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮stopped‬‏ ‏‮responding‬‏."
1891
+ },
1892
+ "core/lib/lh-error.js | pageLoadFailedInsecure": {
1893
+ "message": "‏‮The‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮provided‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮valid‬‏ ‏‮security‬‏ ‏‮certificate‬‏. {securityMessages}"
1894
+ },
1895
+ "core/lib/lh-error.js | pageLoadFailedInterstitial": {
1896
+ "message": "‏‮Chrome‬‏ ‏‮prevented‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮with‬‏ ‏‮an‬‏ ‏‮interstitial‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏."
1897
+ },
1898
+ "core/lib/lh-error.js | pageLoadFailedWithDetails": {
1899
+ "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏. (‏‮Details‬‏: {errorDetails})"
1900
+ },
1901
+ "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
1902
+ "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏. (‏‮Status‬‏ ‏‮code‬‏: {statusCode})"
1903
+ },
1904
+ "core/lib/lh-error.js | pageLoadTookTooLong": {
1905
+ "message": "‏‮Your‬‏ ‏‮page‬‏ ‏‮took‬‏ ‏‮too‬‏ ‏‮long‬‏ ‏‮to‬‏ ‏‮load‬‏. ‏‮Please‬‏ ‏‮follow‬‏ ‏‮the‬‏ ‏‮opportunities‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮report‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮time‬‏, ‏‮and‬‏ ‏‮then‬‏ ‏‮try‬‏ ‏‮re‬‏-‏‮running‬‏ ‏‮Lighthouse‬‏. ({errorCode})"
1906
+ },
1907
+ "core/lib/lh-error.js | protocolTimeout": {
1908
+ "message": "‏‮Waiting‬‏ ‏‮for‬‏ ‏‮DevTools‬‏ ‏‮protocol‬‏ ‏‮response‬‏ ‏‮has‬‏ ‏‮exceeded‬‏ ‏‮the‬‏ ‏‮allotted‬‏ ‏‮time‬‏. (‏‮Method‬‏: {protocolMethod})"
1909
+ },
1910
+ "core/lib/lh-error.js | requestContentTimeout": {
1911
+ "message": "‏‮Fetching‬‏ ‏‮resource‬‏ ‏‮content‬‏ ‏‮has‬‏ ‏‮exceeded‬‏ ‏‮the‬‏ ‏‮allotted‬‏ ‏‮time‬‏"
1912
+ },
1913
+ "core/lib/lh-error.js | targetCrashed": {
1914
+ "message": "‏‮Browser‬‏ ‏‮tab‬‏ ‏‮has‬‏ ‏‮unexpectedly‬‏ ‏‮crashed‬‏."
1915
+ },
1916
+ "core/lib/lh-error.js | urlInvalid": {
1917
+ "message": "‏‮The‬‏ ‏‮URL‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮provided‬‏ ‏‮appears‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮invalid‬‏."
1918
+ },
1919
+ "core/lib/navigation-error.js | warningStatusCode": {
1920
+ "message": "‏‮Lighthouse‬‏ ‏‮was‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮reliably‬‏ ‏‮load‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮you‬‏ ‏‮requested‬‏. ‏‮Make‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮testing‬‏ ‏‮the‬‏ ‏‮correct‬‏ ‏‮URL‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮properly‬‏ ‏‮responding‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮requests‬‏. (‏‮Status‬‏ ‏‮code‬‏: {errorCode})"
1921
+ },
1922
+ "core/lib/navigation-error.js | warningXhtml": {
1923
+ "message": "‏‮The‬‏ ‏‮page‬‏ ‏‮MIME‬‏ ‏‮type‬‏ ‏‮is‬‏ ‏‮XHTML‬‏: ‏‮Lighthouse‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮explicitly‬‏ ‏‮support‬‏ ‏‮this‬‏ ‏‮document‬‏ ‏‮type‬‏"
1924
+ },
1925
+ "core/user-flow.js | defaultFlowName": {
1926
+ "message": "‏‮User‬‏ ‏‮flow‬‏ ({url})"
1927
+ },
1928
+ "core/user-flow.js | defaultNavigationName": {
1929
+ "message": "‏‮Navigation‬‏ ‏‮report‬‏ ({url})"
1930
+ },
1931
+ "core/user-flow.js | defaultSnapshotName": {
1932
+ "message": "‏‮Snapshot‬‏ ‏‮report‬‏ ({url})"
1933
+ },
1934
+ "core/user-flow.js | defaultTimespanName": {
1935
+ "message": "‏‮Timespan‬‏ ‏‮report‬‏ ({url})"
1936
+ },
1937
+ "flow-report/src/i18n/ui-strings.js | allReports": {
1938
+ "message": "‏‮All‬‏ ‏‮Reports‬‏"
1939
+ },
1940
+ "flow-report/src/i18n/ui-strings.js | categories": {
1941
+ "message": "‏‮Categories‬‏"
1942
+ },
1943
+ "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
1944
+ "message": "‏‮Accessibility‬‏"
1945
+ },
1946
+ "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
1947
+ "message": "‏‮Best‬‏ ‏‮Practices‬‏"
1948
+ },
1949
+ "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
1950
+ "message": "‏‮Performance‬‏"
1951
+ },
1952
+ "flow-report/src/i18n/ui-strings.js | categorySeo": {
1953
+ "message": "‏‮SEO‬‏"
1954
+ },
1955
+ "flow-report/src/i18n/ui-strings.js | desktop": {
1956
+ "message": "‏‮Desktop‬‏"
1957
+ },
1958
+ "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
1959
+ "message": "‏‮Understanding‬‏ ‏‮the‬‏ ‏‮Lighthouse‬‏ ‏‮Flow‬‏ ‏‮Report‬‏"
1960
+ },
1961
+ "flow-report/src/i18n/ui-strings.js | helpLabel": {
1962
+ "message": "‏‮Understanding‬‏ ‏‮Flows‬‏"
1963
+ },
1964
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
1965
+ "message": "‏‮Use‬‏ ‏‮Navigation‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
1966
+ },
1967
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
1968
+ "message": "‏‮Use‬‏ ‏‮Snapshot‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
1969
+ },
1970
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
1971
+ "message": "‏‮Use‬‏ ‏‮Timespan‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
1972
+ },
1973
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
1974
+ "message": "‏‮Obtain‬‏ ‏‮a‬‏ ‏‮Lighthouse‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
1975
+ },
1976
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
1977
+ "message": "‏‮Measure‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮Performance‬‏ ‏‮metrics‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮and‬‏ ‏‮Speed‬‏ ‏‮Index‬‏."
1978
+ },
1979
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
1980
+ "message": "‏‮Assess‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏ ‏‮capabilities‬‏."
1981
+ },
1982
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
1983
+ "message": "‏‮Find‬‏ ‏‮accessibility‬‏ ‏‮issues‬‏ ‏‮in‬‏ ‏‮single‬‏ ‏‮page‬‏ ‏‮applications‬‏ ‏‮or‬‏ ‏‮complex‬‏ ‏‮forms‬‏."
1984
+ },
1985
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
1986
+ "message": "‏‮Evaluate‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮of‬‏ ‏‮menus‬‏ ‏‮and‬‏ ‏‮UI‬‏ ‏‮elements‬‏ ‏‮hidden‬‏ ‏‮behind‬‏ ‏‮interaction‬‏."
1987
+ },
1988
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
1989
+ "message": "‏‮Measure‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮series‬‏ ‏‮of‬‏ ‏‮interactions‬‏."
1990
+ },
1991
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
1992
+ "message": "‏‮Discover‬‏ ‏‮performance‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮long‬‏-‏‮lived‬‏ ‏‮pages‬‏ ‏‮and‬‏ ‏‮single‬‏-‏‮page‬‏ ‏‮applications‬‏."
1993
+ },
1994
+ "flow-report/src/i18n/ui-strings.js | highestImpact": {
1995
+ "message": "‏‮Highest‬‏ ‏‮impact‬‏"
1996
+ },
1997
+ "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
1998
+ "message": "{numInformative,plural, =1{{numInformative} ‏‮informative‬‏ ‏‮audit‬‏}zero{{numInformative} ‏‮informative‬‏ ‏‮audits‬‏}two{{numInformative} ‏‮informative‬‏ ‏‮audits‬‏}few{{numInformative} ‏‮informative‬‏ ‏‮audits‬‏}many{{numInformative} ‏‮informative‬‏ ‏‮audits‬‏}other{{numInformative} ‏‮informative‬‏ ‏‮audits‬‏}}"
1999
+ },
2000
+ "flow-report/src/i18n/ui-strings.js | mobile": {
2001
+ "message": "‏‮Mobile‬‏"
2002
+ },
2003
+ "flow-report/src/i18n/ui-strings.js | navigationDescription": {
2004
+ "message": "‏‮Page‬‏ ‏‮load‬‏"
2005
+ },
2006
+ "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
2007
+ "message": "‏‮Navigation‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮a‬‏ ‏‮single‬‏ ‏‮page‬‏ ‏‮load‬‏, ‏‮exactly‬‏ ‏‮like‬‏ ‏‮the‬‏ ‏‮original‬‏ ‏‮Lighthouse‬‏ ‏‮reports‬‏."
2008
+ },
2009
+ "flow-report/src/i18n/ui-strings.js | navigationReport": {
2010
+ "message": "‏‮Navigation‬‏ ‏‮report‬‏"
2011
+ },
2012
+ "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
2013
+ "message": "{numNavigation,plural, =1{{numNavigation} ‏‮navigation‬‏ ‏‮report‬‏}zero{{numNavigation} ‏‮navigation‬‏ ‏‮reports‬‏}two{{numNavigation} ‏‮navigation‬‏ ‏‮reports‬‏}few{{numNavigation} ‏‮navigation‬‏ ‏‮reports‬‏}many{{numNavigation} ‏‮navigation‬‏ ‏‮reports‬‏}other{{numNavigation} ‏‮navigation‬‏ ‏‮reports‬‏}}"
2014
+ },
2015
+ "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
2016
+ "message": "{numPassableAudits,plural, =1{{numPassableAudits} ‏‮passable‬‏ ‏‮audit‬‏}zero{{numPassableAudits} ‏‮passable‬‏ ‏‮audits‬‏}two{{numPassableAudits} ‏‮passable‬‏ ‏‮audits‬‏}few{{numPassableAudits} ‏‮passable‬‏ ‏‮audits‬‏}many{{numPassableAudits} ‏‮passable‬‏ ‏‮audits‬‏}other{{numPassableAudits} ‏‮passable‬‏ ‏‮audits‬‏}}"
2017
+ },
2018
+ "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
2019
+ "message": "{numPassed,plural, =1{{numPassed} ‏‮audit‬‏ ‏‮passed‬‏}zero{{numPassed} ‏‮audits‬‏ ‏‮passed‬‏}two{{numPassed} ‏‮audits‬‏ ‏‮passed‬‏}few{{numPassed} ‏‮audits‬‏ ‏‮passed‬‏}many{{numPassed} ‏‮audits‬‏ ‏‮passed‬‏}other{{numPassed} ‏‮audits‬‏ ‏‮passed‬‏}}"
2020
+ },
2021
+ "flow-report/src/i18n/ui-strings.js | ratingAverage": {
2022
+ "message": "‏‮Average‬‏"
2023
+ },
2024
+ "flow-report/src/i18n/ui-strings.js | ratingError": {
2025
+ "message": "‏‮Error‬‏"
2026
+ },
2027
+ "flow-report/src/i18n/ui-strings.js | ratingFail": {
2028
+ "message": "‏‮Poor‬‏"
2029
+ },
2030
+ "flow-report/src/i18n/ui-strings.js | ratingPass": {
2031
+ "message": "‏‮Good‬‏"
2032
+ },
2033
+ "flow-report/src/i18n/ui-strings.js | save": {
2034
+ "message": "‏‮Save‬‏"
2035
+ },
2036
+ "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
2037
+ "message": "‏‮Captured‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮page‬‏"
2038
+ },
2039
+ "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
2040
+ "message": "‏‮Snapshot‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮particular‬‏ ‏‮state‬‏, ‏‮typically‬‏ ‏‮after‬‏ ‏‮user‬‏ ‏‮interactions‬‏."
2041
+ },
2042
+ "flow-report/src/i18n/ui-strings.js | snapshotReport": {
2043
+ "message": "‏‮Snapshot‬‏ ‏‮report‬‏"
2044
+ },
2045
+ "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
2046
+ "message": "{numSnapshot,plural, =1{{numSnapshot} ‏‮snapshot‬‏ ‏‮report‬‏}zero{{numSnapshot} ‏‮snapshot‬‏ ‏‮reports‬‏}two{{numSnapshot} ‏‮snapshot‬‏ ‏‮reports‬‏}few{{numSnapshot} ‏‮snapshot‬‏ ‏‮reports‬‏}many{{numSnapshot} ‏‮snapshot‬‏ ‏‮reports‬‏}other{{numSnapshot} ‏‮snapshot‬‏ ‏‮reports‬‏}}"
2047
+ },
2048
+ "flow-report/src/i18n/ui-strings.js | summary": {
2049
+ "message": "‏‮Summary‬‏"
2050
+ },
2051
+ "flow-report/src/i18n/ui-strings.js | timespanDescription": {
2052
+ "message": "‏‮User‬‏ ‏‮interactions‬‏"
2053
+ },
2054
+ "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
2055
+ "message": "‏‮Timespan‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮an‬‏ ‏‮arbitrary‬‏ ‏‮period‬‏ ‏‮of‬‏ ‏‮time‬‏, ‏‮typically‬‏ ‏‮containing‬‏ ‏‮user‬‏ ‏‮interactions‬‏."
2056
+ },
2057
+ "flow-report/src/i18n/ui-strings.js | timespanReport": {
2058
+ "message": "‏‮Timespan‬‏ ‏‮report‬‏"
2059
+ },
2060
+ "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
2061
+ "message": "{numTimespan,plural, =1{{numTimespan} ‏‮timespan‬‏ ‏‮report‬‏}zero{{numTimespan} ‏‮timespan‬‏ ‏‮reports‬‏}two{{numTimespan} ‏‮timespan‬‏ ‏‮reports‬‏}few{{numTimespan} ‏‮timespan‬‏ ‏‮reports‬‏}many{{numTimespan} ‏‮timespan‬‏ ‏‮reports‬‏}other{{numTimespan} ‏‮timespan‬‏ ‏‮reports‬‏}}"
2062
+ },
2063
+ "flow-report/src/i18n/ui-strings.js | title": {
2064
+ "message": "‏‮Lighthouse‬‏ ‏‮User‬‏ ‏‮Flow‬‏ ‏‮Report‬‏"
2065
+ },
2066
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AttributionReporting": {
2067
+ "message": "تم إيقاف \"تقارير تحديد المصدر\" نهائيًا وستتم إزالتها. لمزيد من التفاصيل، يُرجى الانتقال إلى الرابط https://goo.gle/ps-status."
2068
+ },
2069
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AuthorizationCoveredByWildcard": {
2070
+ "message": "لن يشمل رمز حرف البدل (*) الإذن في معالجة العنوان Access-Control-Allow-Headers في سياسة Cross-Origin Resource Sharing ‏(CORS)."
2071
+ },
2072
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2073
+ "message": "يجب استخدام السمة disableRemotePlayback لإيقاف الدمج التلقائي لتقنية Google Cast بدلاً من استخدام أداة الاختيار -internal-media-controls-overlay-cast-button."
2074
+ },
2075
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSValueAppearanceSliderVertical": {
2076
+ "message": "لم يتم توحيد قيمة ظهور خدمة مقارنة الأسعار slider-vertical وستتم إزالتها."
2077
+ },
2078
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
2079
+ "message": "يتم حظر طلبات المصادر التي تتضمّن عناوين URL الخاصة بها كلاً من أحرف المسافة البيضاء \\(n|r|t) ورمز \"الأقل من\" (<). لتحميل هذه المصادر، يُرجى إزالة السطور الجديدة وترميز رمز \"الأقل من\" من خلال مواضع مثل قيم سمات العناصر."
2080
+ },
2081
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
2082
+ "message": "تم إيقاف واجهة برمجة التطبيقات chrome.loadTimes() نهائيًا ويمكنك بدلاً منها استخدام واجهة برمجة التطبيقات Navigation Timing 2 الموحَّدة."
2083
+ },
2084
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
2085
+ "message": "تم إيقاف واجهة برمجة التطبيقات chrome.loadTimes() نهائيًا. وبدلاً منها، يمكنك استخدام واجهة برمجة التطبيقات الموحَّدة: Paint Timing."
2086
+ },
2087
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
2088
+ "message": "تم إيقاف واجهة برمجة التطبيقات chrome.loadTimes() نهائيًا. وبدلاً منها، يمكنك استخدام واجهة برمجة التطبيقات الموحَّدة Navigation Timing 2 التي تتضمّن السمة nextHopProtocol."
2089
+ },
2090
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginAccessBasedOnDocumentDomain": {
2091
+ "message": "بالنسبة إلى ميزة تخفيف قيود السياسة المشتركة المصدر من خلال ضبط الميزة document.domain، تم إيقافها نهائيًا وستكون غير مفعَّلة تلقائيًا. إنّ تحذير الإيقاف النهائي هذا متعلِّق بإذن الوصول من مصادر متعددة والذي تم تفعيله من خلال ضبط الميزة document.domain."
2092
+ },
2093
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowAlert": {
2094
+ "message": "إنَّ ميزة تنفيذ الوظيفة window.alert المستنِدة إلى إطارات iframe من مصادر متعددة تم إيقافها نهائيًا وستتم إزالتها في المستقبل."
2095
+ },
2096
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
2097
+ "message": "إنّ ميزة تنفيذ الوظيفة window.confirm المستنِدة إلى إطارات iframe من مصادر متعددة تم إيقافها نهائيًا وستتم إزالتها في المستقبل."
2098
+ },
2099
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
2100
+ "message": "تم بشكل نهائي إيقاف استخدام عناوين URL التي تبدأ بمخطّط \"data:‎\" في واجهة SVGUseElement، وستتم إزالة هذه الميزة في المستقبل."
2101
+ },
2102
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DigitalCredentialsUnknownProtocol": {
2103
+ "message": "تم طلب بروتوكول Digital Credentials غير معروف في navigator.credentials.get()‎ أو create()‎. سيتم حظر البروتوكولات غير المعروفة في إصدار مستقبلي."
2104
+ },
2105
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventKeyboardEvents": {
2106
+ "message": "تم إيقاف واجهة document.createEvent('KeyboardEvents') نهائيًا وستتم إزالتها. يمكن استخدام new KeyboardEvent() كبديل."
2107
+ },
2108
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventTransitionEvent": {
2109
+ "message": "تم إيقاف واجهة document.createEvent('TransitionEvent') نهائيًا وستتم إزالتها. يمكن استخدام new TransitionEvent() كبديل."
2110
+ },
2111
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ExampleBrowserProcessDeprecation": {
2112
+ "message": "هذا مثال على عرض الرمز البرمجي المطلوب لعملية متصفّح تم الإبلاغ عن إيقافها نهائيًا."
2113
+ },
2114
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | FencedFrame": {
2115
+ "message": "تم إيقاف واجهة Fenced Frame API نهائيًا ومن المقرر إزالتها."
2116
+ },
2117
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | Fledge": {
2118
+ "message": "تم إيقاف واجهة Protected Audience API نهائيًا وستتم إزالتها في إصدار مستقبلي."
2119
+ },
2120
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOrigin": {
2121
+ "message": "لم تعُد \"getCurrentPosition()\" و\"watchPosition()\" متوافقتين مع المصادر غير الآمنة. لاستخدام هذه الميزة، عليك نقل تطبيقك إلى مصدر آمن مثل HTTPS. يُرجى الاطّلاع على https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ لمزيد من التفاصيل."
2122
+ },
2123
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
2124
+ "message": "تم إيقاف \"getCurrentPosition()\" و\"watchPosition()\" نهائيًا على المصادر غير الآمنة. لاستخدام هذه الميزة، عليك نقل تطبيقك إلى مصدر آمن مثل HTTPS. يُرجى الاطّلاع على https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ لمزيد من التفاصيل."
2125
+ },
2126
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GetUserMediaInsecureOrigin": {
2127
+ "message": "لم تعُد \"getUserMedia()\" متوافقة مع المصادر غير الآمنة. لاستخدام هذه الميزة، عليك نقل تطبيقك إلى مصدر آمن مثل HTTPS. يُرجى الاطّلاع على https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ لمزيد من التفاصيل."
2128
+ },
2129
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | HostCandidateAttributeGetter": {
2130
+ "message": "تم إيقاف RTCPeerConnectionIceErrorEvent.hostCandidate نهائيًا. يُرجى استخدام RTCPeerConnectionIceErrorEvent.address أو RTCPeerConnectionIceErrorEvent.port بدلاً منها."
2131
+ },
2132
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IdentityInCanMakePaymentEvent": {
2133
+ "message": "إنّ أصل التاجر والبيانات العشوائية من حدث مشغّل الخدمات في canmakepayment تم إيقافهما نهائيًا وستتم إزالتهما: topOrigin وpaymentRequestOrigin وmethodData وmodifiers."
2134
+ },
2135
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InsecurePrivateNetworkSubresourceRequest": {
2136
+ "message": "طلب الموقع الإلكتروني مصدرًا فرعيًا من شبكة يمكن الوصول إليه من خلال الموقع الإلكتروني فقط بسبب موضع مستخدميه المميّز على الشبكة. تكشف هذه الطلبات الأجهزة والخوادم الخاصة على الإنترنت، ما يزيد من خطر تزوير الطلب من موقع إلكتروني مختلف (CSRF) و/أو تسرُّب المعلومات. وللحدِّ من هذه المخاطر، أوقف Chrome نهائيًا طلبات الوصول إلى مصادر فرعية خاصة، وذلك عند تقديمها من خلال سياقات غير آمنة، وسيبدأ في حظرها."
2137
+ },
2138
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InterestGroupDailyUpdateUrl": {
2139
+ "message": "تمت إعادة تسمية الحقل dailyUpdateUrl في InterestGroups الذي تم تمريره إلى joinAdInterestGroup() ليصبح updateUrl لكي يوضّح اسم الحقل سلوكه بدقة أكبر."
2140
+ },
2141
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IntlV8BreakIterator": {
2142
+ "message": "تم إيقاف Intl.v8BreakIterator نهائيًا. يُرجى استخدام Intl.Segmenter بدلاً منها."
2143
+ },
2144
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModelParams": {
2145
+ "message": "تم إيقاف الإجراء LanguageModel.params()‎ نهائيًا، وأصبح متاحًا الآن للاستخدام في الإضافات فقط. سيتم أيضًا إيقاف الحقول topK والحقول المرتبطة بدرجة الحرارة ضمن النتيجة."
2146
+ },
2147
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModelTemperature": {
2148
+ "message": "تم إيقاف المَعلمة/السمة \"temperature\" في LanguageModel نهائيًا. يمكن استخدامها في الإضافات فقط، وقد تتم إزالتها في المستقبل."
2149
+ },
2150
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModelTopK": {
2151
+ "message": "تم إيقاف المَعلمة/السمة \"topK\" في LanguageModel نهائيًا. يمكن استخدامها في الإضافات فقط، وقد تتم إزالتها في المستقبل."
2152
+ },
2153
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModel_InputQuota": {
2154
+ "message": "تم إيقاف LanguageModel.inputQuota نهائيًا. يُرجى استخدام LanguageModel.contextWindow بدلاً من ذلك. لا يتوفّر هذا الاسم البديل إلا في الإضافات."
2155
+ },
2156
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModel_InputUsage": {
2157
+ "message": "تم إيقاف LanguageModel.inputUsage نهائيًا. يُرجى استخدام LanguageModel.contextUsage بدلاً من ذلك. لا يتوفّر هذا الاسم البديل إلا في الإضافات."
2158
+ },
2159
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModel_MeasureInputUsage": {
2160
+ "message": "تم إيقاف LanguageModel.measureInputUsage()‎ نهائيًا. يُرجى استخدام LanguageModel.measureContextUsage()‎ بدلاً من ذلك. لا يتوفّر هذا الاسم البديل إلا في الإضافات."
2161
+ },
2162
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LanguageModel_OnQuotaOverflow": {
2163
+ "message": "تم إيقاف LanguageModel.onquotaoverflow نهائيًا. يُرجى استخدام LanguageModel.oncontextoverflow بدلاً من ذلك. لا يتوفّر الاسم البديل LanguageModel.onquotaoverflow إلا في الإضافات."
2164
+ },
2165
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LocalCSSFileExtensionRejected": {
2166
+ "message": "لا يمكن تحميل صفحات الأنماط المتتالية (CSS) من عناوين URL للملفات file: ما لم تنتهِ الملفات بالامتداد .css."
2167
+ },
2168
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NoSysexWebMIDIWithoutPermission": {
2169
+ "message": "ستطلب واجهة برمجة التطبيقات Web MIDI إذنًا للاستخدام حتى في حال عدم تحديد رسائل النظام الحصرية (Sysex) في MIDIOptions."
2170
+ },
2171
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationInsecureOrigin": {
2172
+ "message": "قد يتوقف استخدام Notification API من مصادر غير آمنة. عليك نقل تطبيقك إلى مصدر آمن، مثل HTTPS. يُرجى الاطّلاع على https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ لمزيد من التفاصيل."
2173
+ },
2174
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationPermissionRequestedIframe": {
2175
+ "message": "قد تتوقّف إمكانية طلب إذن لواجهة برمجة التطبيقات Notification API من أحد إطارات iframe من مصادر متعددة. يجب مراعاة طلب إذن من إطار عالٍ المستوى أو فتح نافذة جديدة بدلاً من ذلك."
2176
+ },
2177
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteCreateImageBitmapImageOrientationNone": {
2178
+ "message": "تم إيقاف الخيار \"imageOrientation: 'none'\" في createImageBitmap. يُرجى استخدام createImageBitmap مع الخيار ‎\\\\{imageOrientation: 'from-image'\\\\} بدلاً منه."
2179
+ },
2180
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteWebRtcCipherSuite": {
2181
+ "message": "يتفاوض شريكك لاستخدام إصدار (D) القديم من بروتوكول أمان طبقة النقل (TLS). يُرجى التحقّق من الأمر مع شريكك لحلّ هذه المشكلة."
2182
+ },
2183
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverflowVisibleOnReplacedElement": {
2184
+ "message": "في حال تحديد القيمة \"overflow: visible\" ضمن علامات img وvideo وcanvas، قد يُعرَض محتوى مرئي خارج حدود العنصر. يُرجى الاطّلاع على https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
2185
+ },
2186
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverrideFlashEmbedwithHTML": {
2187
+ "message": "تمت إعادة كتابة فيديو Flash القديم إلى العنصر HTML iframe. تم إيقاف Flash نهائيًا منذ فترة طويلة، كما تم نهائيًا إيقاف هذا الحل البديل لإعادة الكتابة وقد تتم إزالته في المستقبل."
2188
+ },
2189
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentInstruments": {
2190
+ "message": "تم إيقاف paymentManager.instruments نهائيًا. بدلاً من ذلك، يُرجى استخدام ميزة \"التثبيت في وقت التشغيل\" (JIT) مع تطبيقات معالجة الدفع."
2191
+ },
2192
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentRequestCSPViolation": {
2193
+ "message": "تجاوز طلب البيانات من واجهة برمجة التطبيقات PaymentRequest التوجيه connect-src في Content-Security-Policy (سياسة أمان المحتوى). تم إيقاف هذا التجاوز نهائيًا. يُرجى إضافة معرِّف طريقة الدفع من واجهة برمجة التطبيقات PaymentRequest (في حقل supportedMethods) إلى توجيه connect-src في سياسة أمان المحتوى (CSP)."
2194
+ },
2195
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PersistentQuotaType": {
2196
+ "message": "تم إيقاف StorageType.persistent نهائيًا. يُرجى استخدام navigator.storage الموحّدة بدلاً منها."
2197
+ },
2198
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PictureSourceSrc": {
2199
+ "message": "إنّ استخدام العنصر <source src> مع العنصر الرئيسي <picture> غير صالح، وبالتالي سيتم تجاهله. يُرجى استخدام السمة <source srcset> بدلاً من ذلك."
2200
+ },
2201
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedCancelAnimationFrame": {
2202
+ "message": "إنّ طريقة webkitCancelAnimationFrame مخصّصة للمورّدين. يُرجى استخدام طريقة cancelAnimationFrame العادية بدلاً من ذلك."
2203
+ },
2204
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedRequestAnimationFrame": {
2205
+ "message": "إنّ طريقة webkitRequestAnimationFrame مخصّصة للمورّدين. يُرجى استخدام طريقة requestAnimationFrame العادية بدلاً من ذلك."
2206
+ },
2207
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoDisplayingFullscreen": {
2208
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitDisplayingFullscreen نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Document.fullscreenElement بدلاً من ذلك."
2209
+ },
2210
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullScreen": {
2211
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitEnterFullscreen()‎ نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Element.requestFullscreen()‎ بدلاً من ذلك."
2212
+ },
2213
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullscreen": {
2214
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitEnterFullscreen()‎ نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Element.requestFullscreen()‎ بدلاً من ذلك."
2215
+ },
2216
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullScreen": {
2217
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitExitFullscreen()‎ نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Document.exitFullscreen()‎ بدلاً من ذلك."
2218
+ },
2219
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullscreen": {
2220
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitExitFullscreen()‎ نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Document.exitFullscreen()‎ بدلاً من ذلك."
2221
+ },
2222
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
2223
+ "message": "تم إيقاف واجهة برمجة التطبيقات HTMLVideoElement.webkitSupportsFullscreen نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Document.fullscreenEnabled بدلاً من ذلك."
2224
+ },
2225
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PreventSvgFilterPaint": {
2226
+ "message": "لا يمكن تطبيق فلاتر الرسومات الموجّهة التي يمكن تغيير حجمها (SVG) على إطارات iframe المتعددة المصادر أو المحظورة (مثلاً في وضع الحماية) أو المكوّنات الإضافية."
2227
+ },
2228
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
2229
+ "message": "تمت إزالة القيد DtlsSrtpKeyAgreement. لقد حدَّدت القيمة false لهذا القيد، وهو أمر يتم تفسيره كمحاولة لاستخدام الميزة SDES key negotiation التي تمت إزالتها. لقد تمت إزالة هذه الميزة. وبدلاً منها، يمكنك استخدام إحدى الخدمات التي تتوفّر فيها الميزة DTLS key negotiation."
2230
+ },
2231
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpTrue": {
2232
+ "message": "تمت إزالة القيد DtlsSrtpKeyAgreement. لقد حدَّدت القيمة true لهذا القيد، وهو أمر ليس له أي تأثير. وفي جميع الأحوال، يمكنك إزالة هذا القيد بغرض التنظيم."
2233
+ },
2234
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2235
+ "message": "تم إيقاف الطريقة getStats()‎ المستنِدة إلى معاودة الاتصال نهائيًا وستتم إزالتها. يُرجى استخدام الطريقة getStats()‎ المتوافقة مع المواصفات بدلاً من ذلك."
2236
+ },
2237
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RangeExpand": {
2238
+ "message": "تم إيقاف واجهة برمجة التطبيقات Range.expand()‎ نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات Select.modify()‎ بدلاً من ذلك."
2239
+ },
2240
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RelatedWebsiteSets": {
2241
+ "message": "تم إيقاف Related Website Sets نهائيًا وستتم إزالتها. لمزيد من التفاصيل، يُرجى الانتقال إلى https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/."
2242
+ },
2243
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RequestedSubresourceWithEmbeddedCredentials": {
2244
+ "message": "يتم حظر طلبات المصادر الفرعية التي تتضمّن عناوين URL الخاصة بها بيانات اعتماد مُضمَّنة (مثل https://user:pass@host/)."
2245
+ },
2246
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RtcpMuxPolicyNegotiate": {
2247
+ "message": "تم إيقاف الخيار rtcpMuxPolicy نهائيًا وستتم إزالته."
2248
+ },
2249
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | SharedArrayBufferConstructedWithoutIsolation": {
2250
+ "message": "سيطلب الكائن SharedArrayBuffer حظر الوصول من نطاقات أخرى. لمعرفة مزيد من التفاصيل، يُرجى الاطّلاع على https://developer.chrome.com/blog/enabling-shared-array-buffer/‎."
2251
+ },
2252
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | TextToSpeech_DisallowedByAutoplay": {
2253
+ "message": "إنّ ميزة تنفيذ الإجراء speechSynthesis.speak() بدون تفعيل المستخدِم متوقفة نهائيًا وستتم إزالتها."
2254
+ },
2255
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | Topics": {
2256
+ "message": "تم إيقاف Topics API نهائيًا وستتم إزالتها في إصدار مستقبلي."
2257
+ },
2258
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | UnloadHandler": {
2259
+ "message": "تم نهائيًا إيقاف أدوات معالجة الأحداث التي تم إلغاء تحميلها، وستتم إزالتها."
2260
+ },
2261
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2262
+ "message": "يجب أن تستخدم الإضافات ميزة حظر الوصول من نطاقات أخرى لمواصلة استخدام الكائن SharedArrayBuffer. يُرجى الاطّلاع على https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/‎."
2263
+ },
2264
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | WebBluetoothRemoteCharacteristicWriteValue": {
2265
+ "message": "تم إيقاف \"BluetoothRemoteGATTCharacteristic.writeValue()\" نهائيًا. يُرجى استخدام \"writeValueWithResponse()\" أو \"writeValueWithoutResponse()\" بدلاً من ذلك."
2266
+ },
2267
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | WebTransportDatagramDuplexStreamIncomingHighWaterMark": {
2268
+ "message": "تمت إعادة تسمية WebTransportDatagramDuplexStream.incomingHighWaterMark إلى incomingMaxBufferedDatagrams، وستتم إزالة incomingHighWaterMark في إصدار مستقبلي من Chrome."
2269
+ },
2270
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | WebTransportDatagramDuplexStreamOutgoingHighWaterMark": {
2271
+ "message": "تمت إعادة تسمية WebTransportDatagramDuplexStream.outgoingHighWaterMark إلى outgoingMaxBufferedDatagrams، وستتم إزالة outgoingHighWaterMark في إصدار مستقبلي من Chrome."
2272
+ },
2273
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
2274
+ "message": "لا يتوفّر الترميز UTF-16 من خلال استجابة json في واجهة برمجة التطبيقات XMLHttpRequest."
2275
+ },
2276
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2277
+ "message": "واجهة برمجة التطبيقات XMLHttpRequest المتزامنة في سلسلة أنظمة التشغيل الرئيسية متوقفة نهائيًا بسبب تأثيراتها الضارة في تجربة المستخدِم النهائي. للحصول على مزيد من المساعدة، يُرجى الاطّلاع على https://xhr.spec.whatwg.org/‎."
2278
+ },
2279
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XSLT": {
2280
+ "message": "تم إيقاف ميزتَي XSLTProcessor و\"تعليمات معالجة XSLT\" نهائيًا في جميع المتصفّحات، وستتم إزالتهما من هذا المتصفّح قريبًا."
2281
+ },
2282
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | animation": {
2283
+ "message": "صورة متحركة"
2284
+ },
2285
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2286
+ "message": "تحدث تغييرات التصميم عندما تتحرك العناصر بدون أي تدخُّل من المستخدم. [تحقَّق من أسباب تغييرات التصميم](https://developer.chrome.com/docs/performance/insights/cls-culprit)، مثل إضافة عناصر أو إزالتها أو تغيير خطوطها أثناء تحميل الصفحة."
2287
+ },
2288
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
2289
+ "message": "إطار iframe الذي تم إدخاله"
2290
+ },
2291
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | layoutShiftCluster": {
2292
+ "message": "وقت بدء مجموعة متغيّرات التصميم: {PH1}"
2293
+ },
2294
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noCulprits": {
2295
+ "message": "تعذَّر رصد أي أسباب لتغييرات التصميم"
2296
+ },
2297
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noLayoutShifts": {
2298
+ "message": "ما مِن تغييرات في التصميم"
2299
+ },
2300
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2301
+ "message": "أسباب تغييرات التصميم"
2302
+ },
2303
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
2304
+ "message": "أهم أسباب تغييرات التصميم"
2305
+ },
2306
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImage": {
2307
+ "message": "عنصر صورة بلا حجم محدَّد"
2308
+ },
2309
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | webFont": {
2310
+ "message": "الخط المستخدم على موقع ويب"
2311
+ },
2312
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
2313
+ "message": "أسوأ مجموعة"
2314
+ },
2315
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstLayoutShiftCluster": {
2316
+ "message": "أسوأ مجموعة لمتغيّرات التصميم"
2317
+ },
2318
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | cacheTTL": {
2319
+ "message": "مدة البقاء (TTL) في ذاكرة التخزين المؤقت"
2320
+ },
2321
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | description": {
2322
+ "message": "يمكن لفترة التخزين المؤقت الطويلة زيادة سرعة الزيارات المتكررة إلى صفحتك. [معلومات إضافية عن التخزين المؤقت](https://developer.chrome.com/docs/performance/insights/cache)"
2323
+ },
2324
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | noRequestsToCache": {
2325
+ "message": "ما مِن طلبات تتضمّن سياسات ذاكرة تخزين مؤقت غير فعّالة"
2326
+ },
2327
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | others": {
2328
+ "message": "عدد العناصر المتبقية: {PH1}"
2329
+ },
2330
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | requestColumn": {
2331
+ "message": "طلب"
2332
+ },
2333
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
2334
+ "message": "استخدام فترات التخزين المؤقت الفعّالة"
2335
+ },
2336
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | description": {
2337
+ "message": "يجب تحديد ترميز الأحرف. ويمكن إجراء ذلك باستخدام علامة meta charset في أول 1,024 بايت من ملف HTML أو في عنوان استجابة HTTP لنوع المحتوى. [مزيد من المعلومات حول تحديد ترميز الأحرف](https://developer.chrome.com/docs/insights/charset/)"
2338
+ },
2339
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedHttpHeader": {
2340
+ "message": "لم يتم تحديد ترميز الأحرف في عنوان HTTP"
2341
+ },
2342
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetLate": {
2343
+ "message": "يتم تعريف ترميز الأحرف باستخدام علامة وصفية بعد أول 1,024 بايت"
2344
+ },
2345
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetMissing": {
2346
+ "message": "لم يتم تحديد ترميز الأحرف باستخدام علامة وصفية"
2347
+ },
2348
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetUnknown": {
2349
+ "message": "تعذَّر تحديد ترميز الأحرف meta charset من بيانات التتبُّع"
2350
+ },
2351
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingHttpHeader": {
2352
+ "message": "يتم تحديد ترميز الأحرف في عنوان HTTP"
2353
+ },
2354
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingMetaCharsetEarly": {
2355
+ "message": "يتم تحديد ترميز الأحرف باستخدام علامة وصفية في أول 1,024 بايت"
2356
+ },
2357
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | title": {
2358
+ "message": "تحديد ترميز الأحرف"
2359
+ },
2360
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2361
+ "message": "إنّ الحجم الكبير لنموذج العناصر في المستند (DOM) يمكن أن يؤدي إلى زيادة مدة عمليات احتساب الأنماط وإعادة تدفق التنسيقات، ما يؤثر في سرعة استجابة الصفحة. وسيزيد هذا الحجم الكبير أيضًا من استخدام الذاكرة. [التعرّف على كيفية تجنُّب زيادة حجم DOM](https://developer.chrome.com/docs/performance/insights/dom-size)"
2362
+ },
2363
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | duration": {
2364
+ "message": "المدة"
2365
+ },
2366
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | element": {
2367
+ "message": "العنصر"
2368
+ },
2369
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeLayout": {
2370
+ "message": "التصميم (عدد العناصر :{PH1})"
2371
+ },
2372
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeStyleRecalc": {
2373
+ "message": "إعادة حساب الأنماط (عدد العناصر: {PH1})"
2374
+ },
2375
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxChildren": {
2376
+ "message": "الحد الأقصى للعناصر الفرعية"
2377
+ },
2378
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxDOMDepth": {
2379
+ "message": "الحد الأقصى للعناصر المضمّنة في DOM"
2380
+ },
2381
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | statistic": {
2382
+ "message": "الإحصاءات"
2383
+ },
2384
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
2385
+ "message": "تحسين حجم عناصر DOM"
2386
+ },
2387
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | topUpdatesDescription": {
2388
+ "message": "هذه هي أكبر عمليات إعادة التصميم وإعادة حساب الأنماط. ويمكن تقليل تأثيرها في الأداء من خلال تبسيط نموذج DOM."
2389
+ },
2390
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | totalElements": {
2391
+ "message": "إجمالي العناصر"
2392
+ },
2393
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | value": {
2394
+ "message": "القيمة"
2395
+ },
2396
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2397
+ "message": "طلب الشبكة الأول هو الأهم. يمكنك [تقليل وقت الاستجابة للطلب](https://developer.chrome.com/docs/performance/insights/document-latency) عن طريق تجنُّب عمليات إعادة التوجيه وضمان استجابة الخادم بسرعة وتفعيل ميزة ضغط النص."
2398
+ },
2399
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
2400
+ "message": "تضمَّن الطلب عمليات إعادة توجيه (عدد عمليات إعادة التوجيه: {PH1}، ومدتها {PH2}+)"
2401
+ },
2402
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
2403
+ "message": "استجابة الخادم كانت بطيئة (المدة المرصودة: {PH1})"
2404
+ },
2405
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
2406
+ "message": "لم يتمّ تطبيق أي ضغط"
2407
+ },
2408
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
2409
+ "message": "يتجنّب هذا الطلب عمليات إعادة التوجيه"
2410
+ },
2411
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
2412
+ "message": "يستجيب الخادم بسرعة (المدة المرصودة: {PH1})"
2413
+ },
2414
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
2415
+ "message": "تمّ تطبيق ضغط النص"
2416
+ },
2417
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | redirectsLabel": {
2418
+ "message": "عمليات إعادة التوجيه"
2419
+ },
2420
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | serverResponseTimeLabel": {
2421
+ "message": "مدة استجابة الخادم"
2422
+ },
2423
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2424
+ "message": "وقت الاستجابة لطلب المستند"
2425
+ },
2426
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | uncompressedDownload": {
2427
+ "message": "عملية تنزيل غير مضغوطة"
2428
+ },
2429
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnDuplicatedBytes": {
2430
+ "message": "وحدات البايت المكرّرة"
2431
+ },
2432
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnSource": {
2433
+ "message": "المصدر"
2434
+ },
2435
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | description": {
2436
+ "message": "يمكنك إزالة [وحدات JavaScript الكبيرة المكرّرة](https://developer.chrome.com/docs/performance/insights/duplicated-javascript) من الحِزم لتقليل وحدات البايت غير الضرورية التي يستهلكها نشاط الشبكة"
2437
+ },
2438
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | noDuplicatedJavaScript": {
2439
+ "message": "لم يتم العثور على ملفات JavaScript مكرّرة"
2440
+ },
2441
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | title": {
2442
+ "message": "مصادر JavaScript المكرّرة"
2443
+ },
2444
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2445
+ "message": "يمكنك ضبط [font-display](https://developer.chrome.com/docs/performance/insights/font-display) على swap أو optional لضمان ظهور النص بشكل ثابت. ويمكن تحسين swap بشكل أكبر للتخفيف من تغييرات التصميم باستخدام [إجراءات تجاوز مقاييس الخطوط](https://developer.chrome.com/blog/font-fallbacks)."
2446
+ },
2447
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | fontColumn": {
2448
+ "message": "الخط"
2449
+ },
2450
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | noFonts": {
2451
+ "message": "لم يتم العثور على أي خطوط ذات قيمة font-display غير مثالية"
2452
+ },
2453
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2454
+ "message": "عرض الخط"
2455
+ },
2456
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | wastedTimeColumn": {
2457
+ "message": "الوقت الضائع"
2458
+ },
2459
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | anonymous": {
2460
+ "message": "(مجهولة الهوية)"
2461
+ },
2462
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | description": {
2463
+ "message": "تتم إعادة ترتيب المحتوى عندما تطلب JavaScript سمات هندسية (مثل offsetWidth) بعد أن يتم تغيير الأنماط بسبب تعديل في حالة DOM. وقد يؤدي ذلك إلى ضعف الأداء. يمكنك التعرّف على مزيد من المعلومات حول [إعادة ترتيب المحتوى](https://developer.chrome.com/docs/performance/insights/forced-reflow) والحلول المتاحة."
2464
+ },
2465
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | reflowCallFrames": {
2466
+ "message": "إطارات المكالمات التي تؤدي إلى إعادة ترتيب المحتوى"
2467
+ },
2468
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | title": {
2469
+ "message": "إعادة التدفق الإلزامية"
2470
+ },
2471
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | topTimeConsumingFunctionCall": {
2472
+ "message": "استدعاء الدالة الأكثر شيوعًا"
2473
+ },
2474
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | totalReflowTime": {
2475
+ "message": "إجمالي مدة إعادة التدفق"
2476
+ },
2477
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | unattributed": {
2478
+ "message": "[نص غير منسوب لأي جهة]"
2479
+ },
2480
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | description": {
2481
+ "message": "يمكنك بدء التحقيق في [طرق تحسين مدى استجابة الصفحة لتفاعلات المستخدم (INP)](https://developer.chrome.com/docs/performance/insights/inp-breakdown) من خلال الاطّلاع على المهام الفرعية الأطول"
2482
+ },
2483
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | duration": {
2484
+ "message": "المدة"
2485
+ },
2486
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | inputDelay": {
2487
+ "message": "تأخير عملية الإدخال"
2488
+ },
2489
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | noInteractions": {
2490
+ "message": "لم يتم رصد أي تفاعلات"
2491
+ },
2492
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | presentationDelay": {
2493
+ "message": "تأخير العرض"
2494
+ },
2495
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | processingDuration": {
2496
+ "message": "مدة المعالجة"
2497
+ },
2498
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | subpart": {
2499
+ "message": "جزء فرعي"
2500
+ },
2501
+ "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | title": {
2502
+ "message": "تفاصيل مدى استجابة الصفحة لتفاعلات المستخدم (INP)"
2503
+ },
2504
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2505
+ "message": "يمكن أن يؤدي تقليل وقت تنزيل الصور إلى تحسين مدّة التحميل المتوقعة للصفحة، بالإضافة إلى تحسين سرعة عرض أكبر محتوى مرئي. [مزيد من المعلومات حول تحسين حجم الصورة](https://developer.chrome.com/docs/performance/insights/image-delivery)"
2506
+ },
2507
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | estimatedSavings": {
2508
+ "message": "{PH1} (الحجم المقدَّر: {PH2})"
2509
+ },
2510
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | noOptimizableImages": {
2511
+ "message": "ما مِن صور يمكن تحسينها"
2512
+ },
2513
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | optimizeFile": {
2514
+ "message": "تحسين حجم الملف"
2515
+ },
2516
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | others": {
2517
+ "message": "عدد العناصر المتبقية: {PH1}"
2518
+ },
2519
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2520
+ "message": "تحسين عرض الصور"
2521
+ },
2522
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
2523
+ "message": "يمكن أن تؤدي زيادة عامل ضغط الصورة إلى تحسين حجم تنزيلها"
2524
+ },
2525
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
2526
+ "message": "يمكن تحسين حجم تنزيل هذه الصورة باستخدام تنسيق صور حديث (مثل WebP أو AVIF) أو زيادة ضغط الصورة"
2527
+ },
2528
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
2529
+ "message": "حجم ملف الصورة هذا أكبر من الحجم المطلوب ({PH1}) لأبعادها المعروضة ({PH2}). يُرجى استخدام الصور المتجاوبة مع مختلف الأجهزة لتقليل حجم تنزيل الصورة."
2530
+ },
2531
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2532
+ "message": "إنّ استخدام تنسيقات الفيديو بدلاً من ملفات GIF يمكن أن يؤدي إلى تحسين حجم تنزيل المحتوى المتحرك"
2533
+ },
2534
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | description": {
2535
+ "message": "لكل [جزء فرعي استراتيجيات تحسين محدَّدة](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). ومن الأفضل أن يتم قضاء معظم زمن عرض أكبر محتوى مرئي (LCP) في تحميل الموارد، وليس في التأخير."
2536
+ },
2537
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | duration": {
2538
+ "message": "المدة"
2539
+ },
2540
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | elementRenderDelay": {
2541
+ "message": "مهلة عرض العناصر"
2542
+ },
2543
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | fieldDuration": {
2544
+ "message": "الشريحة المئوية الـ 75 من بيانات تجارب المستخدمِين الحقيقيين"
2545
+ },
2546
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | noLcp": {
2547
+ "message": "لم يتم رصد أي مقياس لسرعة عرض أكبر محتوى مرئي (LCP)"
2548
+ },
2549
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDelay": {
2550
+ "message": "مهلة تحميل الموارد"
2551
+ },
2552
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDuration": {
2553
+ "message": "مدة تحميل المصدر"
2554
+ },
2555
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | subpart": {
2556
+ "message": "جزء فرعي"
2557
+ },
2558
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | timeToFirstByte": {
2559
+ "message": "مدة تحميل أول بايت"
2560
+ },
2561
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | title": {
2562
+ "message": "تفاصيل سرعة عرض أكبر محتوى مرئي (LCP)"
2563
+ },
2564
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2565
+ "message": "يمكنك [تحسين مقياس \"سرعة عرض أكبر محتوى مرئي\" (LCP)](https://developer.chrome.com/docs/performance/insights/lcp-discovery) من خلال جعل النسخة المخصصة للمقياس قابلة للاكتشاف من HTML على الفور، وتجنُّب التحميل الكسول."
2566
+ },
2567
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityApplied": {
2568
+ "message": "تم تطبيق السمة fetchpriority=high"
2569
+ },
2570
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
2571
+ "message": "يجب تطبيق القيمة fetchpriority=high"
2572
+ },
2573
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeAppliedToImagePreload": {
2574
+ "message": "يجب تطبيق القيمة fetchpriority=high على طلب التحميل المسبق للصورة"
2575
+ },
2576
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
2577
+ "message": "يجب عدم استخدام السمة loading=lazy في موارد LCP"
2578
+ },
2579
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
2580
+ "message": "تم تحميل الصورة الخاصة بمقياس \"سرعة عرض أكبر محتوى مرئي\" (LCP) بعد {PH1} من نقطة البداية الأقدم"
2581
+ },
2582
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcp": {
2583
+ "message": "لم يتم رصد أي مقياس لسرعة عرض أكبر محتوى مرئي (LCP)"
2584
+ },
2585
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcpResource": {
2586
+ "message": "لم يتم رصد أي مصدر لسرعة عرض أكبر محتوى مرئي على الصفحة لأنّ LCP ليس صورة"
2587
+ },
2588
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | requestDiscoverable": {
2589
+ "message": "الطلب قابل للاكتشاف في المستند الأوّلي"
2590
+ },
2591
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2592
+ "message": "الاطّلاع على طلبات LCP"
2593
+ },
2594
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnScript": {
2595
+ "message": "النص البرمجي"
2596
+ },
2597
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnWastedBytes": {
2598
+ "message": "وحدات البايت المُهدرة"
2599
+ },
2600
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | description": {
2601
+ "message": "تساعد الرموز البرمجية polyfill وtransform المتصفّحات القديمة في استخدام ميزات JavaScript الجديدة. ومع ذلك، يكون العديد منها غير ضروري للمتصفّحات الحديثة. من الأفضل تعديل عملية تصميم رموز JavaScript لتجنُّب تحويل رموز ميزات [Baseline](https://web.dev/articles/baseline-and-polyfills)، إلّا إذا كان من الضروري التوافق مع المتصفِّحات القديمة. [التعرُّف على سبب إمكانية نشر معظم المواقع الإلكترونية لرمز ES6+‎ بدون تحويله](https://developer.chrome.com/docs/performance/insights/legacy-javascript)"
2602
+ },
2603
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | noLegacyJavaScript": {
2604
+ "message": "لم يتم العثور على أي ملفات JavaScript قديمة"
2605
+ },
2606
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | title": {
2607
+ "message": "ميزات JavaScript القديمة"
2608
+ },
2609
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | description": {
2610
+ "message": "يوفِّر البروتوكولان HTTP/2 وHTTP/3 العديد من المزايا أكثر من بروتوكول HTTP/1.1، مثل الإرسال المتعدّد. [مزيد من المعلومات حول استخدام HTTP الحديث](https://developer.chrome.com/docs/performance/insights/modern-http)"
2611
+ },
2612
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | noOldProtocolRequests": {
2613
+ "message": "لم يتم استخدام HTTP/1.1 في أي طلب، أو أنّ استخدامه الحالي لا يمثل فرصة كبيرة للتحسين. يتم وضع علامة على طلبات HTTP/1.1 فقط إذا كانت ست أو أكثر من مواد العرض الثابتة تأتي من المصدر نفسه، ولم يتم عرضها من بيئة تطوير محلية أو مصدر تابع لجهة خارجية."
2614
+ },
2615
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | protocol": {
2616
+ "message": "البروتوكول"
2617
+ },
2618
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | request": {
2619
+ "message": "طلب"
2620
+ },
2621
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | title": {
2622
+ "message": "بروتوكول HTTP الحديث"
2623
+ },
2624
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnOrigin": {
2625
+ "message": "المصدر"
2626
+ },
2627
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnRequest": {
2628
+ "message": "الطلب"
2629
+ },
2630
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnSource": {
2631
+ "message": "المصدر"
2632
+ },
2633
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnTime": {
2634
+ "message": "الوقت"
2635
+ },
2636
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnWastedMs": {
2637
+ "message": "التوفير المقدَّر في سرعة عرض أكبر محتوى مرئي (LCP)"
2638
+ },
2639
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | crossoriginWarning": {
2640
+ "message": "تمت إضافة اتصال مُسبَق لمصادر غير مستخدَمة. يُرجى التحقّق من استخدام السمة crossorigin بشكل صحيح."
2641
+ },
2642
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
2643
+ "message": "يُمكن [تجنُّب تقييد الطلبات المُهمّة](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) عن طريق تقليل طول السلاسل أو تقليل حجم تنزيل الموارد أو تأجيل تنزيل الموارد غير الضرورية لتحسين تحميل الصفحة"
2644
+ },
2645
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableDescription": {
2646
+ "message": "يمكنك إضافة إشارات [preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) إلى أهم مصادرك، ولكن يُرجى محاولة استخدام 4 إشارات كحدّ أقصى"
2647
+ },
2648
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableTitle": {
2649
+ "message": "المصادر المُرشَّحة للاتصال المُسبَق"
2650
+ },
2651
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
2652
+ "message": "الحد الأقصى لوقت استجابة سلسلة الطلبات المُهمّة:"
2653
+ },
2654
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
2655
+ "message": "ما مِن مهام عرض متأثرة بطلبات اعتمادية الشبكة"
2656
+ },
2657
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectCandidates": {
2658
+ "message": "ما مِن مصادر إضافية مناسبة للاتصال المُسبَق"
2659
+ },
2660
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectOrigins": {
2661
+ "message": "لم يتم إنشاء اتصال مُسبَق لأي مصادر"
2662
+ },
2663
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableDescription": {
2664
+ "message": "تساعد إشارات [preconnect](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) المتصفّح على إنشاء اتصال قبل تحميل الصفحة، ما يوفِّر الوقت عند إرسال أول طلب إلى مصدر المحتوى هذا. في ما يلي المصادر التي تم إنشاء اتصال مُسبَق بها على الصفحة."
2665
+ },
2666
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableTitle": {
2667
+ "message": "المصادر المتصلة مُسبَقًا"
2668
+ },
2669
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
2670
+ "message": "شجرة اعتمادية الشبكة"
2671
+ },
2672
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | tooManyPreconnectLinksWarning": {
2673
+ "message": "تم العثور على أكثر من 4 روابط preconnect. يُنصح بعدم استخدام هذه الروابط بشكل كبير واقتصارها على المصادر الأكثر أهمية فقط."
2674
+ },
2675
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | unusedWarning": {
2676
+ "message": "تمت إضافة اتصال مُسبَق لمصادر غير مستخدَمة. يجب استخدام preconnect فقط للمصادر التي من المرجح أن تطلبها الصفحة."
2677
+ },
2678
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
2679
+ "message": "يُمكن تجنُّب تقييد الطلبات المُهمّة عن طريق تقليل طول السلاسل أو تقليل حجم تنزيل الموارد أو تأجيل تنزيل الموارد غير الضرورية لتحسين تحميل الصفحة"
2680
+ },
2681
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2682
+ "message": "تؤدي الطلبات إلى حظر العرض الأوّلي للصفحة، ما قد يُبطئ سرعة عرض أكبر محتوى مرئي (LCP). ويمكن [تأجيل طلبات الشبكة هذه أو تضمينها](https://developer.chrome.com/docs/performance/insights/render-blocking) لإخراجها من المسار الحرج."
2683
+ },
2684
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
2685
+ "message": "المدة"
2686
+ },
2687
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | noRenderBlocking": {
2688
+ "message": "لم يتم حظر أي طلبات لعرض إطار التنقّل هذا"
2689
+ },
2690
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | renderBlockingRequest": {
2691
+ "message": "طلب الشبكة"
2692
+ },
2693
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2694
+ "message": "طلبات حظر العرض"
2695
+ },
2696
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2697
+ "message": "إذا كانت ميزة \"إعادة احتساب النمط\" تستهلك الكثير من الموارد والوقت، يمكن أن يؤدي تحسين أداة الاختيار إلى خفض أدائها. يمكنك [تحسين أدوات الاختيار](https://developer.chrome.com/docs/performance/insights/slow-css-selector) من خلال زيادة الوقت المنقضي وزيادة النسبة المئوية للمسار البطيء. وسيؤدي استخدام أدوات اختيار أبسط وتقليل عددها ونموذج DOM أصغر وأقل تعقيدًا إلى خفض استهلاك الموارد المطابِقة."
2698
+ },
2699
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | elapsed": {
2700
+ "message": "الوقت المنقضي"
2701
+ },
2702
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | enableSelectorData": {
2703
+ "message": "لم يتم العثور على أي بيانات لأدوات اختيار لغة CSS. يجب تفعيل إحصاءات أداة اختيار لغة CSS في إعدادات لوحة \"الأداء\"."
2704
+ },
2705
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchAttempts": {
2706
+ "message": "عدد محاولات المطابقة"
2707
+ },
2708
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchCount": {
2709
+ "message": "عدد العناصر المطابِقة"
2710
+ },
2711
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2712
+ "message": "الموارد التي تستهلكها أداة اختيار لغة CSS"
2713
+ },
2714
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorElapsedTime": {
2715
+ "message": "أكثر أداة اختيار استغرقت وقتًا في المطابقة"
2716
+ },
2717
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorMatchAttempt": {
2718
+ "message": "أبرز محاولة لمطابقة أداة الاختيار"
2719
+ },
2720
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectors": {
2721
+ "message": "أدوات الاختيار الأعلى استهلاكًا للوقت والجهد"
2722
+ },
2723
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | total": {
2724
+ "message": "الإجمالي"
2725
+ },
2726
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnMainThreadTime": {
2727
+ "message": "وقت سلسلة المحادثات الأساسية"
2728
+ },
2729
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnThirdParty": {
2730
+ "message": "الجهة الخارجية"
2731
+ },
2732
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnTransferSize": {
2733
+ "message": "حجم عملية النقل"
2734
+ },
2735
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2736
+ "message": "يمكن أن يؤثر الرمز البرمجي الخارجي بشكل كبير في أداء تحميل الصفحة. [يمكنك تقليل تحميل الرموز البرمجية الخارجية وتأجيله](https://developer.chrome.com/docs/performance/insights/third-parties)، ومنح الأولوية لمحتوى صفحتك."
2737
+ },
2738
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
2739
+ "message": "لم يتم العثور على أي محتوى خارجي"
2740
+ },
2741
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2742
+ "message": "الجهات الخارجية"
2743
+ },
2744
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2745
+ "message": "قد يتم [تأخير الاستجابة لتفاعلات النقر بمقدار 300 ملي ثانية كحد أقصى](https://developer.chrome.com/docs/performance/insights/viewport) إذا لم يتم تحسين إطار العرض للأجهزة الجوّالة"
2746
+ },
2747
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | mobileTapDelayLabel": {
2748
+ "message": "مدة تأخير الاستجابة للنقر على الأجهزة الجوّالة"
2749
+ },
2750
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2751
+ "message": "تحسين إطار العرض للأجهزة الجوّالة"
2752
+ },
2753
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPMethodNotGET": {
2754
+ "message": "يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات المحمّلة فقط من خلال طلب استرداد بيانات باستخدام GET"
2755
+ },
2756
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPStatusNotOK": {
2757
+ "message": "لا يمكن إجراء تخزين مؤقت إلا للصفحات التي تتضمّن رمز الحالة 2XX"
2758
+ },
2759
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | JavaScriptExecution": {
2760
+ "message": "اكتشَف Chrome محاولةً لتنفيذ JavaScript أثناء التخزين المؤقت"
2761
+ },
2762
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | appBanner": {
2763
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت AppBanner"
2764
+ },
2765
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabled": {
2766
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" في chrome://flags. ويمكنك الانتقال إلى الرابط chrome://flags/#back-forward-cache لتفعيلها على هذا الجهاز."
2767
+ },
2768
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByCommandLine": {
2769
+ "message": "أوقفَ سطر الأوامر ميزة \"التخزين المؤقت للصفحات\""
2770
+ },
2771
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByLowMemory": {
2772
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب عدم توفّر مساحة تخزين كافية"
2773
+ },
2774
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForDelegate": {
2775
+ "message": "ميزة \"التخزين المؤقت للصفحات\" غير متاحة من خلال التفويض"
2776
+ },
2777
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForPrerender": {
2778
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" في العارض المسبق"
2779
+ },
2780
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | broadcastChannel": {
2781
+ "message": "لا يمكن تخزين الصفحة مؤقتًا لأنها تحتوي على مثيل BroadcastChannel يتضمّن متتبِّعات مسجَّلة"
2782
+ },
2783
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheControlNoStore": {
2784
+ "message": "لا يمكن تخزين الصفحات التي تحتوي على عنوان cache-control:no-store باستخدام ميزة \"التخزين المؤقت للصفحات\""
2785
+ },
2786
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheFlushed": {
2787
+ "message": "تم محو ذاكرة التخزين المؤقت عن قصد"
2788
+ },
2789
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheLimit": {
2790
+ "message": "تم إخراج الصفحة من ذاكرة التخزين المؤقت للسماح بتخزين صفحة أخرى مؤقتًا"
2791
+ },
2792
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | containsPlugins": {
2793
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تحتوي على مكوّنات إضافية"
2794
+ },
2795
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentDiscarded": {
2796
+ "message": "غير محدّد"
2797
+ },
2798
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileChooser": {
2799
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم FileChooser API"
2800
+ },
2801
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileSystemAccess": {
2802
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم File System Access API"
2803
+ },
2804
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaDevicesDispatcherHost": {
2805
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم \"أداة إرسال جهاز الوسائط\""
2806
+ },
2807
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaPlay": {
2808
+ "message": "كان أحد مشغّلات الوسائط قيد التشغيل أثناء مغادرة الصفحة"
2809
+ },
2810
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSession": {
2811
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم MediaSession API وتضبط حالة للتشغيل"
2812
+ },
2813
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSessionService": {
2814
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم MediaSession API وتضبط معالِجات الإجراءات"
2815
+ },
2816
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentScreenReader": {
2817
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب استخدام قارئ الشاشة"
2818
+ },
2819
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSecurityHandler": {
2820
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم SecurityHandler"
2821
+ },
2822
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSerial": {
2823
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم Serial API"
2824
+ },
2825
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebAuthenticationAPI": {
2826
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم WebAuthentication API"
2827
+ },
2828
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebBluetooth": {
2829
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم WebBluetooth API"
2830
+ },
2831
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebUSB": {
2832
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" لتخزين الصفحات التي تستخدم WebUSB API"
2833
+ },
2834
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cookieDisabled": {
2835
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب إيقاف ملفات تعريف الارتباط على صفحة تستخدم السمة Cache-Control: no-store"
2836
+ },
2837
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | dedicatedWorkerOrWorklet": {
2838
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم منفِّذًا مخصَّصًا أو وظيفة مصغَّرة"
2839
+ },
2840
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | documentLoaded": {
2841
+ "message": "تمّت مغادرة المستند قبل أن ينتهي من التحميل"
2842
+ },
2843
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderAppBannerManager": {
2844
+ "message": "كان بانر التطبيق قيد الاستخدام أثناء مغادرة الصفحة"
2845
+ },
2846
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderChromePasswordManagerClientBindCredentialManager": {
2847
+ "message": "كان \"مدير كلمات المرور\" في Chrome قيد الاستخدام أثناء مغادرة الصفحة"
2848
+ },
2849
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
2850
+ "message": "كانت عملية استخلاص \"نموذج العناصر في المستند\" (DOM) يتم تنفيذها أثناء مغادرة الصفحة"
2851
+ },
2852
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerViewerSource": {
2853
+ "message": "كان عارض ميزة DOM Distiller قيد الاستخدام أثناء مغادرة الصفحة"
2854
+ },
2855
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessaging": {
2856
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" لأنّ الإضافات تستخدم واجهة برمجة تطبيقات خدمة المراسلة"
2857
+ },
2858
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessagingForOpenPort": {
2859
+ "message": "إنّ الإضافات ذات الاتصال الطويل الأمد يجب أن تُغلِق الاتصال قبل تخزينها مؤقتًا باستخدام ميزة \"التخزين المؤقت للصفحات\""
2860
+ },
2861
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionSentMessageToCachedFrame": {
2862
+ "message": "حاولت الإضافات ذات الاتصال الطويل الأمد إرسال رسائل إلى الإطارات المدرَجة في ميزة \"التخزين المؤقت للصفحات\""
2863
+ },
2864
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensions": {
2865
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب استخدام الإضافات"
2866
+ },
2867
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderModalDialog": {
2868
+ "message": "تم عرض مربّع حوار نمطي في الصفحة أثناء مغادرتها، مثل مربّع حوار إعادة إرسال النموذج أو مربّع حوار مصادقة HTTP باستخدام كلمة مرور"
2869
+ },
2870
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOfflinePage": {
2871
+ "message": "تم عرض الصفحة المتوفّرة بلا اتصال بالإنترنت عند مغادرة الصفحة الحالية"
2872
+ },
2873
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOomInterventionTabHelper": {
2874
+ "message": "كان \"شريط التدخل بسبب نفاد الذاكرة\" قيد الاستخدام أثناء مغادرة الصفحة الحالية"
2875
+ },
2876
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPermissionRequestManager": {
2877
+ "message": "كانت هناك طلبات أذونات أثناء مغادرة الصفحة"
2878
+ },
2879
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPopupBlockerTabHelper": {
2880
+ "message": "كان حاجب النوافذ المنبثقة قيد الاستخدام أثناء مغادرة الصفحة"
2881
+ },
2882
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingThreatDetails": {
2883
+ "message": "تم عرض تفاصيل \"التصفّح الآمن\" أثناء مغادرة الصفحة"
2884
+ },
2885
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
2886
+ "message": "رصدت ميزة \"التصفُّح الآمن\" أنّ هذه الصفحة تتضمّن محتوى مسيئًا وحظرت نافذة منبثقة"
2887
+ },
2888
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
2889
+ "message": "كان أحد مشغّلي الخدمات مفعّلاً أثناء إجراء تخزين مؤقت للصفحة باستخدام ميزة \"التخزين المؤقت للصفحات\""
2890
+ },
2891
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | errorDocument": {
2892
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب خطأ في المستند"
2893
+ },
2894
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | fencedFramesEmbedder": {
2895
+ "message": "لا يمكن تخزين الصفحات التي تستخدم الإطار FencedFrames من خلال ميزة \"التخزين المؤقت للصفحات\""
2896
+ },
2897
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | foregroundCacheLimit": {
2898
+ "message": "تم إخراج الصفحة من ذاكرة التخزين المؤقت للسماح بتخزين صفحة أخرى مؤقتًا"
2899
+ },
2900
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | grantedMediaStreamAccess": {
2901
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي سمحت بالوصول إلى محتوى الوسائط"
2902
+ },
2903
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | haveInnerContents": {
2904
+ "message": "الصفحات التي تحتوي على أنواع معيّنة من المحتوى المضمّن (مثل ملفات PDF) غير مؤهَّلة حاليًا لاستخدام ميزة \"التخزين المؤقت للصفحات\""
2905
+ },
2906
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | idleManager": {
2907
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم IdleManager"
2908
+ },
2909
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBConnection": {
2910
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تحتوي على اتصال IndexedDB مفتوح"
2911
+ },
2912
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBEvent": {
2913
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب حدث في IndexedDB"
2914
+ },
2915
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | ineligibleAPI": {
2916
+ "message": "تم استخدام واجهات غير مؤهَّلة لبرمجة التطبيقات"
2917
+ },
2918
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedJavascript": {
2919
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تم إدخال JavaScript فيها من خلال الإضافات"
2920
+ },
2921
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedStyleSheet": {
2922
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تم إدخال StyleSheet فيها من خلال الإضافات"
2923
+ },
2924
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | internalError": {
2925
+ "message": "خطأ داخلي"
2926
+ },
2927
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | jsNetworkRequestReceivedCacheControlNoStoreResource": {
2928
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" لأنّ بعض طلبات شبكة JavaScript تلقّت موردًا يحمل العنوان Cache-Control: no-store"
2929
+ },
2930
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keepaliveRequest": {
2931
+ "message": "تم إيقاف ميزة \"التخزين المؤقت للصفحات\" بسبب طلب التحقّق من الاتصال"
2932
+ },
2933
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keyboardLock": {
2934
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم قفل لوحة المفاتيح"
2935
+ },
2936
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | loading": {
2937
+ "message": "تمت مغادرة الصفحة قبل أن يكتمل تحميلها"
2938
+ },
2939
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoCache": {
2940
+ "message": "لا يمكن تخزين الصفحات التي يحتوي موردها الرئيسي على cache-control:no-cache باستخدام ميزة \"التخزين المؤقت للصفحات\""
2941
+ },
2942
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoStore": {
2943
+ "message": "لا يمكن تخزين الصفحات التي يحتوي موردها الرئيسي على cache-control:no-store باستخدام ميزة \"التخزين المؤقت للصفحات\""
2944
+ },
2945
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | navigationCancelledWhileRestoring": {
2946
+ "message": "تم إلغاء التنقّل قبل أن تتم استعادة الصفحة من خلال ميزة \"التخزين المؤقت للصفحات\""
2947
+ },
2948
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkExceedsBufferLimit": {
2949
+ "message": "تم إخراج الصفحة من ذاكرة التخزين المؤقت لأنّ الاتصال النشط بالشبكة تلقّى الكثير من البيانات، علمًا بأنّ Chrome يقيّد مقدار البيانات التي قد تتلقّاها الصفحة أثناء تخزينها مؤقتًا."
2950
+ },
2951
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
2952
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم XHR أو fetch()‎ يتم تنفيذهما حاليًا"
2953
+ },
2954
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestRedirected": {
2955
+ "message": "تم استبعاد هذه الصفحة من ميزة \"التخزين المؤقت للصفحات\" لأنّ أحد طلبات الشبكة النشطة تضمَّن إعادة توجيه"
2956
+ },
2957
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestTimeout": {
2958
+ "message": "تم إخراج الصفحة من ذاكرة التخزين المؤقت لأنّ الاتصال بالشبكة كان مفتوحًا لفترة طويلة جدًا، علمًا بأنّ Chrome يقيّد مقدار الوقت الذي قد تتلقّى خلاله الصفحة البيانات أثناء تخزينها مؤقتًا."
2959
+ },
2960
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | noResponseHead": {
2961
+ "message": "لا يمكن تخزين الصفحات التي لا تحتوي على عنوان استجابة صالح باستخدام ميزة \"التخزين المؤقت للصفحات\""
2962
+ },
2963
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | notMainFrame": {
2964
+ "message": "حدث التنقّل في إطار غير الإطار الرئيسي"
2965
+ },
2966
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingIndexedDBTransaction": {
2967
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تتضمّن عمليات جارية لقاعدة البيانات المُفهرَسة"
2968
+ },
2969
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestDirectSocket": {
2970
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم طلب شبكة يتم تنفيذه حاليًا"
2971
+ },
2972
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestFetch": {
2973
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم طلب استرجاع لبيانات شبكة يتم تنفيذه حاليًا"
2974
+ },
2975
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestOthers": {
2976
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم طلب شبكة يتم تنفيذه حاليًا"
2977
+ },
2978
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestXHR": {
2979
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم طلب شبكة XHR يتم تنفيذه حاليًا"
2980
+ },
2981
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | paymentManager": {
2982
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم PaymentManager"
2983
+ },
2984
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | pictureInPicture": {
2985
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم ميزة \"نافذة ضمن النافذة\""
2986
+ },
2987
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | printing": {
2988
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تعرض \"واجهة المستخدم الخاصة بالطباعة\""
2989
+ },
2990
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | relatedActiveContentsExist": {
2991
+ "message": "تم فتح الصفحة باستخدام window.open() وعلامة تبويب أخرى بها مرجع إليها، أو فتَحت الصفحة نافذة"
2992
+ },
2993
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessCrashed": {
2994
+ "message": "تعطّلت عملية العرض للصفحة خلال تخزينها باستخدام ميزة \"التخزين المؤقت للصفحات\""
2995
+ },
2996
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessKilled": {
2997
+ "message": "تم إنهاء عملية العرض للصفحة خلال تخزينها باستخدام ميزة \"التخزين المؤقت للصفحات\""
2998
+ },
2999
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedAudioCapturePermission": {
3000
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت أذونات تسجيل الصوت"
3001
+ },
3002
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackForwardCacheBlockedSensors": {
3003
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت أذونات أدوات الاستشعار"
3004
+ },
3005
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackgroundWorkPermission": {
3006
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت إذن الاسترجاع أو إذن المزامنة في الخلفية"
3007
+ },
3008
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedMIDIPermission": {
3009
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت أذونات الوصول إلى أجهزة MIDI"
3010
+ },
3011
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedNotificationsPermission": {
3012
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت أذونات إرسال الإشعارات"
3013
+ },
3014
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedStorageAccessGrant": {
3015
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت الوصول إلى مساحة التخزين"
3016
+ },
3017
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedVideoCapturePermission": {
3018
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي طلبت أذونات تسجيل الفيديو"
3019
+ },
3020
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | schemeNotHTTPOrHTTPS": {
3021
+ "message": "لا يمكن إجراء تخزين مؤقت إلا للصفحات التي يكون مخطَّط URL فيها هو HTTP/HTTPS"
3022
+ },
3023
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerClaim": {
3024
+ "message": "استدعى أحد مشغّلي الخدمات الصفحة أثناء تخزينها مؤقتًا باستخدام ميزة \"التخزين المؤقت للصفحات\""
3025
+ },
3026
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerPostMessage": {
3027
+ "message": "حاول أحد مشغّلي الخدمات إرسال MessageEvent إلى الصفحة خلال تخزينها باستخدام ميزة \"التخزين المؤقت للصفحات\""
3028
+ },
3029
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerUnregistration": {
3030
+ "message": "تم إلغاء تسجيل ServiceWorkers أثناء تخزين صفحة باستخدام ميزة \"التخزين المؤقت للصفحات\""
3031
+ },
3032
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerVersionActivation": {
3033
+ "message": "تم استبعاد هذه الصفحة من ميزة \"التخزين المؤقت للصفحات\" بسبب تفعيل مشغّل خدمات"
3034
+ },
3035
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sessionRestored": {
3036
+ "message": "تمت إعادة تشغيل Chrome ومحو إدخالات ميزة \"التخزين المؤقت للصفحات\""
3037
+ },
3038
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorker": {
3039
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم SharedWorker"
3040
+ },
3041
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorkerMessage": {
3042
+ "message": "تم حذف الصفحة من ذاكرة التخزين المؤقت لأنّها تلقّت رسالة من SharedWorker"
3043
+ },
3044
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechRecognizer": {
3045
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم SpeechRecognizer"
3046
+ },
3047
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechSynthesis": {
3048
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم SpeechSynthesis"
3049
+ },
3050
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subframeIsNavigating": {
3051
+ "message": "بدأ إطار iframe على الصفحة عملية تنقُّل لم تكتمل"
3052
+ },
3053
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoCache": {
3054
+ "message": "لا يمكن تخزين الصفحات التي يحتوي موردها الفرعي على cache-control:no-cache باستخدام ميزة \"التخزين المؤقت للصفحات\""
3055
+ },
3056
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoStore": {
3057
+ "message": "لا يمكن تخزين الصفحات التي يحتوي موردها الفرعي على cache-control:no-store باستخدام ميزة \"التخزين المؤقت للصفحات\""
3058
+ },
3059
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeout": {
3060
+ "message": "تجاوزت الصفحة الحدّ الأقصى لوقت التخزين في ميزة \"التخزين المؤقت للصفحات\" وانتهت صلاحيتها"
3061
+ },
3062
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeoutPuttingInCache": {
3063
+ "message": "انتهت مهلة تخزين الصفحة باستخدام ميزة \"التخزين المؤقت للصفحات\" (من المرجَّح أنّ سبب ذلك هو معالِجات إخفاء الصفحات التي تستغرق مدة زمنية طويلة)"
3064
+ },
3065
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInMainFrame": {
3066
+ "message": "تحتوي الصفحة على معالج لإلغاء التحميل في الإطار الرئيسي"
3067
+ },
3068
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInSubFrame": {
3069
+ "message": "تحتوي الصفحة على معالِج لإلغاء التحميل في إطار فرعي"
3070
+ },
3071
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | userAgentOverrideDiffers": {
3072
+ "message": "غيَّر المتصفّح عنوان تجاوز وكيل المستخدم"
3073
+ },
3074
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | wasGrantedMediaAccess": {
3075
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي سمحَت بتسجيل فيديو أو صوت"
3076
+ },
3077
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webDatabase": {
3078
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebDatabase"
3079
+ },
3080
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webHID": {
3081
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebHID"
3082
+ },
3083
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webLocks": {
3084
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebLocks"
3085
+ },
3086
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webNfc": {
3087
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebNfc"
3088
+ },
3089
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webOTPService": {
3090
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebOTPService"
3091
+ },
3092
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
3093
+ "message": "لا يمكن تخزين الصفحات التي تستخدم بروتوكول WebRTC من خلال ميزة \"التخزين المؤقت للصفحات\""
3094
+ },
3095
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCUsedWithCCNS": {
3096
+ "message": "ميزة \"التخزين المؤقت للصفحات\" غير مفعَّلة بسبب استخدام WebRTC"
3097
+ },
3098
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
3099
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebShare"
3100
+ },
3101
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
3102
+ "message": "لا يمكن تخزين الصفحات التي تحتوي على WebSocket باستخدام ميزة \"التخزين المؤقت للصفحات\""
3103
+ },
3104
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketUsedWithCCNS": {
3105
+ "message": "ميزة \"التخزين المؤقت للصفحات\" غير مفعّلة بسبب استخدام WebSocket"
3106
+ },
3107
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
3108
+ "message": "لا يمكن تخزين الصفحات التي تحتوي على WebTransport باستخدام ميزة \"التخزين المؤقت للصفحات\""
3109
+ },
3110
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportUsedWithCCNS": {
3111
+ "message": "ميزة \"التخزين المؤقت للصفحات\" غير مفعَّلة بسبب استخدام WebTransport"
3112
+ },
3113
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
3114
+ "message": "لا يمكن استخدام ميزة \"التخزين المؤقت للصفحات\" حاليًا لتخزين الصفحات التي تستخدم WebXR"
3115
+ },
3116
+ "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
3117
+ "message": "‏‮For‬‏ ‏‮animated‬‏ ‏‮content‬‏, ‏‮use‬‏ [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) ‏‮to‬‏ ‏‮minimize‬‏ ‏‮CPU‬‏ ‏‮usage‬‏ ‏‮when‬‏ ‏‮the‬‏ ‏‮content‬‏ ‏‮is‬‏ ‏‮offscreen‬‏."
3118
+ },
3119
+ "node_modules/lighthouse-stack-packs/packs/amp.js | modern-image-formats": {
3120
+ "message": "‏‮Consider‬‏ ‏‮displaying‬‏ ‏‮all‬‏ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) ‏‮components‬‏ ‏‮in‬‏ ‏‮WebP‬‏ ‏‮formats‬‏ ‏‮while‬‏ ‏‮specifying‬‏ ‏‮an‬‏ ‏‮appropriate‬‏ ‏‮fallback‬‏ ‏‮for‬‏ ‏‮other‬‏ ‏‮browsers‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://amp.dev/documentation/components/amp-img/#example:-specifying-a-fallback-image)."
3121
+ },
3122
+ "node_modules/lighthouse-stack-packs/packs/amp.js | offscreen-images": {
3123
+ "message": "‏‮Ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) ‏‮for‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮lazy‬‏-‏‮load‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://amp.dev/documentation/guides-and-tutorials/develop/media_iframes_3p/?format=websites#images)."
3124
+ },
3125
+ "node_modules/lighthouse-stack-packs/packs/amp.js | render-blocking-resources": {
3126
+ "message": "‏‮Use‬‏ ‏‮tools‬‏ ‏‮such‬‏ ‏‮as‬‏ [‏‮AMP‬‏ ‏‮Optimizer‬‏](https://github.com/ampproject/amp-toolbox/tree/master/packages/optimizer) ‏‮to‬‏ [‏‮server‬‏-‏‮side‬‏ ‏‮render‬‏ ‏‮AMP‬‏ ‏‮layouts‬‏](https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/server-side-rendering/)."
3127
+ },
3128
+ "node_modules/lighthouse-stack-packs/packs/amp.js | unminified-css": {
3129
+ "message": "‏‮Refer‬‏ ‏‮to‬‏ ‏‮the‬‏ [‏‮AMP‬‏ ‏‮documentation‬‏](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) ‏‮to‬‏ ‏‮ensure‬‏ ‏‮all‬‏ ‏‮styles‬‏ ‏‮are‬‏ ‏‮supported‬‏."
3130
+ },
3131
+ "node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
3132
+ "message": "‏‮The‬‏ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) ‏‮component‬‏ ‏‮supports‬‏ ‏‮the‬‏ [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) ‏‮attribute‬‏ ‏‮to‬‏ ‏‮specify‬‏ ‏‮which‬‏ ‏‮image‬‏ ‏‮assets‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮based‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮screen‬‏ ‏‮size‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)."
3133
+ },
3134
+ "node_modules/lighthouse-stack-packs/packs/angular.js | dom-size": {
3135
+ "message": "‏‮Consider‬‏ ‏‮virtual‬‏ ‏‮scrolling‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮Component‬‏ ‏‮Dev‬‏ ‏‮Kit‬‏ (‏‮CDK‬‏) ‏‮if‬‏ ‏‮very‬‏ ‏‮large‬‏ ‏‮lists‬‏ ‏‮are‬‏ ‏‮being‬‏ ‏‮rendered‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/virtualize-lists-with-angular-cdk/)."
3136
+ },
3137
+ "node_modules/lighthouse-stack-packs/packs/angular.js | total-byte-weight": {
3138
+ "message": "‏‮Apply‬‏ [‏‮route‬‏-‏‮level‬‏ ‏‮code‬‏ ‏‮splitting‬‏](https://web.dev/route-level-code-splitting-in-angular/) ‏‮to‬‏ ‏‮minimize‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮JavaScript‬‏ ‏‮bundles‬‏. ‏‮Also‬‏, ‏‮consider‬‏ ‏‮precaching‬‏ ‏‮assets‬‏ ‏‮with‬‏ ‏‮the‬‏ [‏‮Angular‬‏ ‏‮service‬‏ ‏‮worker‬‏](https://web.dev/precaching-with-the-angular-service-worker/)."
3139
+ },
3140
+ "node_modules/lighthouse-stack-packs/packs/angular.js | unminified-warning": {
3141
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮Angular‬‏ ‏‮CLI‬‏, ‏‮ensure‬‏ ‏‮that‬‏ ‏‮builds‬‏ ‏‮are‬‏ ‏‮generated‬‏ ‏‮in‬‏ ‏‮production‬‏ ‏‮mode‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://angular.io/guide/deployment#enable-runtime-production-mode)."
3142
+ },
3143
+ "node_modules/lighthouse-stack-packs/packs/angular.js | unused-javascript": {
3144
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮Angular‬‏ ‏‮CLI‬‏, ‏‮include‬‏ ‏‮source‬‏ ‏‮maps‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮production‬‏ ‏‮build‬‏ ‏‮to‬‏ ‏‮inspect‬‏ ‏‮your‬‏ ‏‮bundles‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://angular.io/guide/deployment#inspect-the-bundles)."
3145
+ },
3146
+ "node_modules/lighthouse-stack-packs/packs/angular.js | uses-rel-preload": {
3147
+ "message": "‏‮Preload‬‏ ‏‮routes‬‏ ‏‮ahead‬‏ ‏‮of‬‏ ‏‮time‬‏ ‏‮to‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮navigation‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/route-preloading-in-angular/)."
3148
+ },
3149
+ "node_modules/lighthouse-stack-packs/packs/angular.js | uses-responsive-images": {
3150
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮the‬‏ `BreakpointObserver` ‏‮utility‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Component‬‏ ‏‮Dev‬‏ ‏‮Kit‬‏ (‏‮CDK‬‏) ‏‮to‬‏ ‏‮manage‬‏ ‏‮image‬‏ ‏‮breakpoints‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://material.angular.io/cdk/layout/overview)."
3151
+ },
3152
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
3153
+ "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ `GIF` ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
3154
+ },
3155
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
3156
+ "message": "‏‮Consider‬‏ ‏‮configuring‬‏ [‏‮WebP‬‏ ‏‮image‬‏ ‏‮formats‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮Convert‬‏ ‏‮image‬‏ ‏‮style‬‏](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏."
3157
+ },
3158
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
3159
+ "message": "‏‮Consider‬‏ ‏‮configuring‬‏ ‏‮lazy‬‏ ‏‮load‬‏ ‏‮images‬‏ ‏‮in‬‏ `Drupal`. ‏‮The‬‏ ‏‮field‬‏ ‏‮formatters‬‏ ‏‮for‬‏ ‏‮images‬‏ ‏‮support‬‏ `lazy` ‏‮or‬‏ `eager`."
3160
+ },
3161
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | prioritize-lcp-image": {
3162
+ "message": "‏‮If‬‏ ‏‮the‬‏ ‏‮LCP‬‏ ‏‮element‬‏ ‏‮is‬‏ ‏‮dynamically‬‏ ‏‮added‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮page‬‏, ‏‮you‬‏ ‏‮should‬‏ ‏‮optimize‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮in‬‏ ‏‮order‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮LCP‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.smashingmagazine.com/2023/08/methods-improving-drupal-largest-contentful-paint-core-web-vital/)."
3163
+ },
3164
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | redirects": {
3165
+ "message": "‏‮Redirects‬‏ ‏‮introduce‬‏ ‏‮additional‬‏ ‏‮delays‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮loaded‬‏. ‏‮If‬‏ ‏‮the‬‏ [‏‮Redirect‬‏](https://www.drupal.org/project/redirect) ‏‮module‬‏ ‏‮is‬‏ ‏‮installed‬‏, ‏‮review‬‏ ‏‮if‬‏ ‏‮unnecessary‬‏ ‏‮redirects‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮removed‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/lighthouse/audits/redirects)."
3166
+ },
3167
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
3168
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/critical_css) ‏‮to‬‏ ‏‮inline‬‏ ‏‮critical‬‏ ‏‮CSS‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏, ‏‮and‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮defer‬‏ ‏‮attribute‬‏ ‏‮for‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮CSS‬‏ ‏‮or‬‏ ‏‮JavaScript‬‏."
3169
+ },
3170
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
3171
+ "message": "‏‮Offload‬‏ ‏‮traffic‬‏ ‏‮with‬‏ ‏‮one‬‏ ‏‮or‬‏ ‏‮more‬‏ `Drupal` ‏‮caching‬‏ ‏‮modules‬‏ ‏‮such‬‏ ‏‮as‬‏ `Internal Page Cache`, `Internal Dynamic Page Cache`, ‏‮and‬‏ `BigPipe`. ‏‮Couple‬‏ ‏‮these‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮CDN‬‏ ‏‮to‬‏ ‏‮further‬‏ ‏‮improve‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Your‬‏ ‏‮hosting‬‏ ‏‮servers‬‏ ‏‮should‬‏ ‏‮make‬‏ ‏‮use‬‏ ‏‮of‬‏ ‏‮PHP‬‏ ‏‮OPcache‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮memory‬‏-‏‮caching‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮Redis‬‏ ‏‮or‬‏ ‏‮Memcached‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮database‬‏ ‏‮query‬‏ ‏‮times‬‏. ‏‮Lastly‬‏ ‏‮use‬‏ ‏‮performant‬‏ ‏‮themes‬‏, ‏‮modules‬‏, ‏‮and‬‏ ‏‮faster‬‏ ‏‮servers‬‏ ‏‮to‬‏ ‏‮lower‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏."
3172
+ },
3173
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | total-byte-weight": {
3174
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮loaded‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ `Views` ‏‮to‬‏ ‏‮show‬‏ ‏‮multiple‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮page‬‏, ‏‮consider‬‏ ‏‮implementing‬‏ ‏‮pagination‬‏ ‏‮to‬‏ ‏‮limit‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮content‬‏ ‏‮items‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏."
3175
+ },
3176
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
3177
+ "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮CSS‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏."
3178
+ },
3179
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
3180
+ "message": "‏‮Ensure‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮enabled‬‏ \"‏‮Aggregate‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏."
3181
+ },
3182
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
3183
+ "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮rules‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ `Drupal` ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [`Drupal` ‏‮documentation‬‏](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮CSS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏ ‏‮when‬‏ ‏‮CSS‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ `Drupal` ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮library‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3184
+ },
3185
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-javascript": {
3186
+ "message": "‏‮Consider‬‏ ‏‮removing‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮assets‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮the‬‏ ‏‮needed‬‏ `Drupal` ‏‮libraries‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮relevant‬‏ ‏‮page‬‏ ‏‮or‬‏ ‏‮component‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮page‬‏. ‏‮See‬‏ ‏‮the‬‏ [‏‮Drupal‬‏ ‏‮documentation‬‏](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) ‏‮for‬‏ ‏‮details‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮attached‬‏ ‏‮libraries‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮JavaScript‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏ ‏‮when‬‏ ‏‮JavaScript‬‏ ‏‮aggregation‬‏ ‏‮is‬‏ ‏‮disabled‬‏ ‏‮in‬‏ ‏‮your‬‏ `Drupal` ‏‮site‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮themes‬‏/‏‮modules‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮theme‬‏/‏‮module‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮attach‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮library‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3187
+ },
3188
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-long-cache-ttl": {
3189
+ "message": "‏‮Set‬‏ ‏‮the‬‏ \"‏‮Browser‬‏ ‏‮and‬‏ ‏‮proxy‬‏ ‏‮cache‬‏ ‏‮maximum‬‏ ‏‮age‬‏\" ‏‮in‬‏ ‏‮the‬‏ \"‏‮Administration‬‏ » ‏‮Configuration‬‏ » ‏‮Development‬‏\" ‏‮page‬‏. ‏‮Read‬‏ ‏‮about‬‏ [`Drupal` ‏‮cache‬‏ ‏‮and‬‏ ‏‮optimizing‬‏ ‏‮for‬‏ ‏‮performance‬‏](https://www.drupal.org/docs/8/api/cache-api/cache-api)."
3190
+ },
3191
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-optimized-images": {
3192
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=image&solrsort=iss_project_release_usage+desc&op=Search) ‏‮that‬‏ ‏‮automatically‬‏ ‏‮optimizes‬‏ ‏‮and‬‏ ‏‮reduces‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮site‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮quality‬‏. ‏‮Also‬‏, ‏‮ensure‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮provided‬‏ ‏‮from‬‏ `Drupal` ‏‮for‬‏ ‏‮all‬‏ ‏‮images‬‏ ‏‮rendered‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮site‬‏."
3193
+ },
3194
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-rel-preconnect": {
3195
+ "message": "`Preconnect` ‏‮or‬‏ `dns-prefetch` ‏‮resource‬‏ ‏‮hints‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ ‏‮installing‬‏ ‏‮and‬‏ ‏‮configuring‬‏ [‏‮a‬‏ ‏‮module‬‏](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=Preconnect&solrsort=score+desc&op=Search) ‏‮that‬‏ ‏‮provides‬‏ ‏‮facilities‬‏ ‏‮for‬‏ ‏‮user‬‏ ‏‮agent‬‏ ‏‮resource‬‏ ‏‮hints‬‏."
3196
+ },
3197
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
3198
+ "message": "‏‮Ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮native‬‏ [‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏](https://www.drupal.org/documentation/modules/responsive_image) ‏‮provided‬‏ ‏‮from‬‏ `Drupal`. ‏‮Use‬‏ ‏‮the‬‏ ‏‮Responsive‬‏ ‏‮Image‬‏ ‏‮Styles‬‏ ‏‮when‬‏ ‏‮rendering‬‏ ‏‮image‬‏ ‏‮fields‬‏ ‏‮through‬‏ ‏‮view‬‏ ‏‮modes‬‏, ‏‮views‬‏, ‏‮or‬‏ ‏‮images‬‏ ‏‮uploaded‬‏ ‏‮through‬‏ ‏‮the‬‏ ‏‮WYSIWYG‬‏ ‏‮editor‬‏."
3199
+ },
3200
+ "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-text-compression": {
3201
+ "message": "‏‮Text‬‏-‏‮based‬‏ ‏‮resources‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮served‬‏ ‏‮with‬‏ ‏‮compression‬‏ (‏‮gzip‬‏, ‏‮deflate‬‏ ‏‮or‬‏ ‏‮brotli‬‏) ‏‮to‬‏ ‏‮minimize‬‏ ‏‮total‬‏ ‏‮network‬‏ ‏‮bytes‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮CDN‬‏ ‏‮that‬‏ ‏‮natively‬‏ ‏‮supports‬‏ ‏‮this‬‏, ‏‮or‬‏ ‏‮configure‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮this‬‏ ‏‮operation‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://developers.google.com/web/tools/lighthouse/audits/text-compression)."
3202
+ },
3203
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
3204
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Optimize Fonts` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮leverage‬‏ ‏‮the‬‏ `font-display` ‏‮CSS‬‏ ‏‮feature‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮text‬‏ ‏‮is‬‏ ‏‮user‬‏-‏‮visible‬‏ ‏‮while‬‏ ‏‮webfonts‬‏ ‏‮are‬‏ ‏‮loading‬‏."
3205
+ },
3206
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | modern-image-formats": {
3207
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Next-Gen Formats` ‏‮to‬‏ ‏‮convert‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮WebP‬‏."
3208
+ },
3209
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | offscreen-images": {
3210
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Lazy Load Images` ‏‮to‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮off‬‏-‏‮screen‬‏ ‏‮images‬‏ ‏‮until‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮needed‬‏."
3211
+ },
3212
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | render-blocking-resources": {
3213
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Script Delay` ‏‮to‬‏ ‏‮defer‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮JS‬‏."
3214
+ },
3215
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | server-response-time": {
3216
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Cloud‬‏ ‏‮Caching‬‏](https://pubdash.ezoic.com/leap/caching) ‏‮to‬‏ ‏‮cache‬‏ ‏‮your‬‏ ‏‮content‬‏ ‏‮across‬‏ ‏‮our‬‏ ‏‮world‬‏ ‏‮wide‬‏ ‏‮network‬‏, ‏‮improving‬‏ ‏‮time‬‏ ‏‮to‬‏ ‏‮first‬‏ ‏‮byte‬‏."
3217
+ },
3218
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-css": {
3219
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Minify CSS` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮minify‬‏ ‏‮your‬‏ ‏‮CSS‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏."
3220
+ },
3221
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-javascript": {
3222
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Minify Javascript` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮minify‬‏ ‏‮your‬‏ ‏‮JS‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏."
3223
+ },
3224
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | unused-css-rules": {
3225
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Remove Unused CSS` ‏‮to‬‏ ‏‮help‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮issue‬‏. ‏‮It‬‏ ‏‮will‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮CSS‬‏ ‏‮classes‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮each‬‏ ‏‮page‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏, ‏‮and‬‏ ‏‮remove‬‏ ‏‮any‬‏ ‏‮others‬‏ ‏‮to‬‏ ‏‮keep‬‏ ‏‮the‬‏ ‏‮file‬‏ ‏‮size‬‏ ‏‮small‬‏."
3226
+ },
3227
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-long-cache-ttl": {
3228
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Efficient Static Cache Policy` ‏‮to‬‏ ‏‮set‬‏ ‏‮recommended‬‏ ‏‮values‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮caching‬‏ ‏‮header‬‏ ‏‮for‬‏ ‏‮static‬‏ ‏‮assests‬‏."
3229
+ },
3230
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-optimized-images": {
3231
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Next-Gen Formats` ‏‮to‬‏ ‏‮convert‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮WebP‬‏."
3232
+ },
3233
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preconnect": {
3234
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Pre-Connect Origins` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮add‬‏ `preconnect` ‏‮resource‬‏ ‏‮hints‬‏ ‏‮to‬‏ ‏‮establish‬‏ ‏‮early‬‏ ‏‮connections‬‏ ‏‮to‬‏ ‏‮important‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮origins‬‏."
3235
+ },
3236
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preload": {
3237
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Preload Fonts` ‏‮and‬‏ `Preload Background Images` ‏‮to‬‏ ‏‮add‬‏ `preload` ‏‮links‬‏ ‏‮to‬‏ ‏‮prioritize‬‏ ‏‮fetching‬‏ ‏‮resources‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮currently‬‏ ‏‮requested‬‏ ‏‮later‬‏ ‏‮in‬‏ ‏‮page‬‏ ‏‮load‬‏."
3238
+ },
3239
+ "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-responsive-images": {
3240
+ "message": "‏‮Use‬‏ [‏‮Ezoic‬‏ ‏‮Leap‬‏](https://pubdash.ezoic.com/leap) ‏‮and‬‏ ‏‮enable‬‏ `Resize Images` ‏‮to‬‏ ‏‮resize‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮device‬‏ ‏‮appropriate‬‏ ‏‮size‬‏, ‏‮reducing‬‏ ‏‮network‬‏ ‏‮payload‬‏ ‏‮sizes‬‏."
3241
+ },
3242
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | modern-image-formats": {
3243
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮optimize‬‏ ‏‮image‬‏ ‏‮format‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
3244
+ },
3245
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | offscreen-images": {
3246
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮images‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
3247
+ },
3248
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | prioritize-lcp-image": {
3249
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ ‏‮the‬‏ `loading` ‏‮prop‬‏ ‏‮to‬‏ `eager`. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-plugin-image#shared-props)."
3250
+ },
3251
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | render-blocking-resources": {
3252
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `Gatsby Script API` ‏‮to‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮scripts‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-script/)."
3253
+ },
3254
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-css-rules": {
3255
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `PurgeCSS` `Gatsby` ‏‮plugin‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://purgecss.com/plugins/gatsby.html)."
3256
+ },
3257
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-javascript": {
3258
+ "message": "‏‮Use‬‏ `Webpack Bundle Analyzer` ‏‮to‬‏ ‏‮detect‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮code‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/)"
3259
+ },
3260
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-long-cache-ttl": {
3261
+ "message": "‏‮Configure‬‏ ‏‮caching‬‏ ‏‮for‬‏ ‏‮immutable‬‏ ‏‮assets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/caching/)."
3262
+ },
3263
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-optimized-images": {
3264
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮adjust‬‏ ‏‮image‬‏ ‏‮quality‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
3265
+ },
3266
+ "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-responsive-images": {
3267
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `gatsby-plugin-image` ‏‮component‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮appropriate‬‏ `sizes`. [‏‮Learn‬‏ ‏‮more‬‏](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
3268
+ },
3269
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
3270
+ "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮GIF‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
3271
+ },
3272
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | modern-image-formats": {
3273
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ [‏‮plugin‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=webp) ‏‮or‬‏ ‏‮service‬‏ ‏‮that‬‏ ‏‮will‬‏ ‏‮automatically‬‏ ‏‮convert‬‏ ‏‮your‬‏ ‏‮uploaded‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮optimal‬‏ ‏‮formats‬‏."
3274
+ },
3275
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | offscreen-images": {
3276
+ "message": "‏‮Install‬‏ ‏‮a‬‏ [‏‮lazy‬‏-‏‮load‬‏ ‏‮Joomla‬‏ ‏‮plugin‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading) ‏‮that‬‏ ‏‮provides‬‏ ‏‮the‬‏ ‏‮ability‬‏ ‏‮to‬‏ ‏‮defer‬‏ ‏‮any‬‏ ‏‮offscreen‬‏ ‏‮images‬‏, ‏‮or‬‏ ‏‮switch‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮template‬‏ ‏‮that‬‏ ‏‮provides‬‏ ‏‮that‬‏ ‏‮functionality‬‏. ‏‮Starting‬‏ ‏‮with‬‏ ‏‮Joomla‬‏ 4.0, ‏‮all‬‏ ‏‮new‬‏ ‏‮images‬‏ ‏‮will‬‏ [‏‮automatically‬‏](https://github.com/joomla/joomla-cms/pull/30748) ‏‮get‬‏ ‏‮the‬‏ `loading` ‏‮attribute‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮core‬‏."
3277
+ },
3278
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | render-blocking-resources": {
3279
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮a‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮Joomla‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮you‬‏ [‏‮inline‬‏ ‏‮critical‬‏ ‏‮assets‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) ‏‮or‬‏ [‏‮defer‬‏ ‏‮less‬‏ ‏‮important‬‏ ‏‮resources‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance). ‏‮Beware‬‏ ‏‮that‬‏ ‏‮optimizations‬‏ ‏‮provided‬‏ ‏‮by‬‏ ‏‮these‬‏ ‏‮plugins‬‏ ‏‮may‬‏ ‏‮break‬‏ ‏‮features‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮templates‬‏ ‏‮or‬‏ ‏‮plugins‬‏, ‏‮so‬‏ ‏‮you‬‏ ‏‮will‬‏ ‏‮need‬‏ ‏‮to‬‏ ‏‮test‬‏ ‏‮these‬‏ ‏‮thoroughly‬‏."
3280
+ },
3281
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | server-response-time": {
3282
+ "message": "‏‮Templates‬‏, ‏‮extensions‬‏, ‏‮and‬‏ ‏‮server‬‏ ‏‮specifications‬‏ ‏‮all‬‏ ‏‮contribute‬‏ ‏‮to‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Consider‬‏ ‏‮finding‬‏ ‏‮a‬‏ ‏‮more‬‏ ‏‮optimized‬‏ ‏‮template‬‏, ‏‮carefully‬‏ ‏‮selecting‬‏ ‏‮an‬‏ ‏‮optimization‬‏ ‏‮extension‬‏, ‏‮and‬‏/‏‮or‬‏ ‏‮upgrading‬‏ ‏‮your‬‏ ‏‮server‬‏."
3283
+ },
3284
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | total-byte-weight": {
3285
+ "message": "‏‮Consider‬‏ ‏‮showing‬‏ ‏‮excerpts‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮article‬‏ ‏‮categories‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮via‬‏ ‏‮the‬‏ ‏‮read‬‏ ‏‮more‬‏ ‏‮link‬‏), ‏‮reducing‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮articles‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏, ‏‮breaking‬‏ ‏‮your‬‏ ‏‮long‬‏ ‏‮posts‬‏ ‏‮into‬‏ ‏‮multiple‬‏ ‏‮pages‬‏, ‏‮or‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮plugin‬‏ ‏‮to‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮comments‬‏."
3286
+ },
3287
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-css": {
3288
+ "message": "‏‮A‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮Joomla‬‏ ‏‮extensions‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏, ‏‮and‬‏ ‏‮compressing‬‏ ‏‮your‬‏ ‏‮css‬‏ ‏‮styles‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮also‬‏ ‏‮templates‬‏ ‏‮that‬‏ ‏‮provide‬‏ ‏‮this‬‏ ‏‮functionality‬‏."
3289
+ },
3290
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-javascript": {
3291
+ "message": "‏‮A‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮Joomla‬‏ ‏‮extensions‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏, ‏‮and‬‏ ‏‮compressing‬‏ ‏‮your‬‏ ‏‮scripts‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮also‬‏ ‏‮templates‬‏ ‏‮that‬‏ ‏‮provide‬‏ ‏‮this‬‏ ‏‮functionality‬‏."
3292
+ },
3293
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-css-rules": {
3294
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏, ‏‮or‬‏ ‏‮switching‬‏, ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮Joomla‬‏ ‏‮extensions‬‏](https://extensions.joomla.org/) ‏‮loading‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮extensions‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮CSS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮plugin‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮plugin‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3295
+ },
3296
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-javascript": {
3297
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏, ‏‮or‬‏ ‏‮switching‬‏, ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮Joomla‬‏ ‏‮extensions‬‏](https://extensions.joomla.org/) ‏‮loading‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮JS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮extension‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮extensions‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮An‬‏ ‏‮extension‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3298
+ },
3299
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-long-cache-ttl": {
3300
+ "message": "‏‮Read‬‏ ‏‮about‬‏ [‏‮Browser‬‏ ‏‮Caching‬‏ ‏‮in‬‏ ‏‮Joomla‬‏](https://docs.joomla.org/Cache)."
3301
+ },
3302
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-optimized-images": {
3303
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮an‬‏ [‏‮image‬‏ ‏‮optimization‬‏ ‏‮plugin‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) ‏‮that‬‏ ‏‮compresses‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮quality‬‏."
3304
+ },
3305
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-responsive-images": {
3306
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ [‏‮responsive‬‏ ‏‮images‬‏ ‏‮plugin‬‏](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=responsive%20images) ‏‮to‬‏ ‏‮use‬‏ ‏‮responsive‬‏ ‏‮images‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮content‬‏."
3307
+ },
3308
+ "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-text-compression": {
3309
+ "message": "‏‮You‬‏ ‏‮can‬‏ ‏‮enable‬‏ ‏‮text‬‏ ‏‮compression‬‏ ‏‮by‬‏ ‏‮enabling‬‏ ‏‮Gzip‬‏ ‏‮Page‬‏ ‏‮Compression‬‏ ‏‮in‬‏ ‏‮Joomla‬‏ (‏‮System‬‏ > ‏‮Global‬‏ ‏‮configuration‬‏ > ‏‮Server‬‏)."
3310
+ },
3311
+ "node_modules/lighthouse-stack-packs/packs/magento.js | critical-request-chains": {
3312
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮bundling‬‏ ‏‮your‬‏ ‏‮JavaScript‬‏ ‏‮assets‬‏, ‏‮consider‬‏ ‏‮using‬‏ [‏‮baler‬‏](https://github.com/magento/baler)."
3313
+ },
3314
+ "node_modules/lighthouse-stack-packs/packs/magento.js | disable-bundling": {
3315
+ "message": "‏‮Disable‬‏ ‏‮Magento‬‏'‏‮s‬‏ ‏‮built‬‏-‏‮in‬‏ [‏‮JavaScript‬‏ ‏‮bundling‬‏ ‏‮and‬‏ ‏‮minification‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html), ‏‮and‬‏ ‏‮consider‬‏ ‏‮using‬‏ [‏‮baler‬‏](https://github.com/magento/baler/) ‏‮instead‬‏."
3316
+ },
3317
+ "node_modules/lighthouse-stack-packs/packs/magento.js | font-display": {
3318
+ "message": "‏‮Specify‬‏ `@font-display` ‏‮when‬‏ [‏‮defining‬‏ ‏‮custom‬‏ ‏‮fonts‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/css-topics/using-fonts.html)."
3319
+ },
3320
+ "node_modules/lighthouse-stack-packs/packs/magento.js | modern-image-formats": {
3321
+ "message": "‏‮Consider‬‏ ‏‮searching‬‏ ‏‮the‬‏ [‏‮Magento‬‏ ‏‮Marketplace‬‏](https://marketplace.magento.com/catalogsearch/result/?q=webp) ‏‮for‬‏ ‏‮a‬‏ ‏‮variety‬‏ ‏‮of‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮extensions‬‏ ‏‮to‬‏ ‏‮leverage‬‏ ‏‮newer‬‏ ‏‮image‬‏ ‏‮formats‬‏."
3322
+ },
3323
+ "node_modules/lighthouse-stack-packs/packs/magento.js | offscreen-images": {
3324
+ "message": "‏‮Consider‬‏ ‏‮modifying‬‏ ‏‮your‬‏ ‏‮product‬‏ ‏‮and‬‏ ‏‮catalog‬‏ ‏‮templates‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮use‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮platform‬‏'‏‮s‬‏ [‏‮lazy‬‏ ‏‮loading‬‏](https://web.dev/native-lazy-loading) ‏‮feature‬‏."
3325
+ },
3326
+ "node_modules/lighthouse-stack-packs/packs/magento.js | server-response-time": {
3327
+ "message": "‏‮Use‬‏ ‏‮Magento‬‏'‏‮s‬‏ [‏‮Varnish‬‏ ‏‮integration‬‏](https://devdocs.magento.com/guides/v2.3/config-guide/varnish/config-varnish.html)."
3328
+ },
3329
+ "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-css": {
3330
+ "message": "‏‮Enable‬‏ ‏‮the‬‏ \"‏‮Minify‬‏ ‏‮CSS‬‏ ‏‮Files‬‏\" ‏‮option‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮store‬‏'‏‮s‬‏ ‏‮Developer‬‏ ‏‮settings‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://devdocs.magento.com/guides/v2.3/performance-best-practices/configuration.html?itm_source=devdocs&itm_medium=search_page&itm_campaign=federated_search&itm_term=minify%20css%20files)."
3331
+ },
3332
+ "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-javascript": {
3333
+ "message": "‏‮Use‬‏ [‏‮Terser‬‏](https://www.npmjs.com/package/terser) ‏‮to‬‏ ‏‮minify‬‏ ‏‮all‬‏ ‏‮JavaScript‬‏ ‏‮assets‬‏ ‏‮from‬‏ ‏‮static‬‏ ‏‮content‬‏ ‏‮deployment‬‏, ‏‮and‬‏ ‏‮disable‬‏ ‏‮the‬‏ ‏‮built‬‏-‏‮in‬‏ ‏‮minification‬‏ ‏‮feature‬‏."
3334
+ },
3335
+ "node_modules/lighthouse-stack-packs/packs/magento.js | unused-javascript": {
3336
+ "message": "‏‮Disable‬‏ ‏‮Magento‬‏'‏‮s‬‏ ‏‮built‬‏-‏‮in‬‏ [‏‮JavaScript‬‏ ‏‮bundling‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html)."
3337
+ },
3338
+ "node_modules/lighthouse-stack-packs/packs/magento.js | uses-optimized-images": {
3339
+ "message": "‏‮Consider‬‏ ‏‮searching‬‏ ‏‮the‬‏ [‏‮Magento‬‏ ‏‮Marketplace‬‏](https://marketplace.magento.com/catalogsearch/result/?q=optimize%20image) ‏‮for‬‏ ‏‮a‬‏ ‏‮variety‬‏ ‏‮of‬‏ ‏‮third‬‏ ‏‮party‬‏ ‏‮extensions‬‏ ‏‮to‬‏ ‏‮optimize‬‏ ‏‮images‬‏."
3340
+ },
3341
+ "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preconnect": {
3342
+ "message": "‏‮Preconnect‬‏ ‏‮or‬‏ ‏‮dns‬‏-‏‮prefetch‬‏ ‏‮resource‬‏ ‏‮hints‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ [‏‮modifying‬‏ ‏‮a‬‏ ‏‮themes‬‏'‏‮s‬‏ ‏‮layout‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
3343
+ },
3344
+ "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preload": {
3345
+ "message": "`<link rel=preload>` ‏‮tags‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮added‬‏ ‏‮by‬‏ [‏‮modifying‬‏ ‏‮a‬‏ ‏‮themes‬‏'‏‮s‬‏ ‏‮layout‬‏](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
3346
+ },
3347
+ "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
3348
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮optimize‬‏ ‏‮image‬‏ ‏‮format‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/app/getting-started/images)."
3349
+ },
3350
+ "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
3351
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮automatically‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮images‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/app/getting-started/images)."
3352
+ },
3353
+ "node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
3354
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ \"‏‮priority‬‏\" ‏‮to‬‏ ‏‮true‬‏ ‏‮to‬‏ ‏‮preload‬‏ ‏‮LCP‬‏ ‏‮image‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next/image#priority)."
3355
+ },
3356
+ "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
3357
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/script` ‏‮component‬‏ ‏‮to‬‏ ‏‮defer‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮non‬‏-‏‮critical‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮scripts‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/app/guides/scripts)."
3358
+ },
3359
+ "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
3360
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮sure‬‏ ‏‮images‬‏ ‏‮are‬‏ ‏‮always‬‏ ‏‮sized‬‏ ‏‮appropriately‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next/image#width)."
3361
+ },
3362
+ "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
3363
+ "message": "‏‮Consider‬‏ ‏‮setting‬‏ ‏‮up‬‏ `PurgeCSS` ‏‮in‬‏ `Next.js` ‏‮configuration‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮unused‬‏ ‏‮rules‬‏ ‏‮from‬‏ ‏‮stylesheets‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://purgecss.com/guides/next.html)."
3364
+ },
3365
+ "node_modules/lighthouse-stack-packs/packs/next.js | unused-javascript": {
3366
+ "message": "‏‮Use‬‏ `Webpack Bundle Analyzer` ‏‮to‬‏ ‏‮detect‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮code‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)"
3367
+ },
3368
+ "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
3369
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ `Next.js Analytics` ‏‮to‬‏ ‏‮measure‬‏ ‏‮your‬‏ ‏‮app‬‏'‏‮s‬‏ ‏‮real‬‏-‏‮world‬‏ ‏‮performance‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/pages/guides/analytics)."
3370
+ },
3371
+ "node_modules/lighthouse-stack-packs/packs/next.js | uses-long-cache-ttl": {
3372
+ "message": "‏‮Configure‬‏ ‏‮caching‬‏ ‏‮for‬‏ ‏‮immutable‬‏ ‏‮assets‬‏ ‏‮and‬‏ `Server-side Rendered` (‏‮SSR‬‏) ‏‮pages‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/13/pages/building-your-application/deploying/production-checklist#caching)."
3373
+ },
3374
+ "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
3375
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮instead‬‏ ‏‮of‬‏ `<img>` ‏‮to‬‏ ‏‮adjust‬‏ ‏‮image‬‏ ‏‮quality‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/app/getting-started/images)."
3376
+ },
3377
+ "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
3378
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `next/image` ‏‮component‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮appropriate‬‏ `sizes`. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next/image#sizes)."
3379
+ },
3380
+ "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
3381
+ "message": "‏‮Enable‬‏ ‏‮compression‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮Next‬‏.‏‮js‬‏ ‏‮server‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://nextjs.org/docs/api-reference/next.config.js/compression)."
3382
+ },
3383
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | dom-size": {
3384
+ "message": "‏‮Contact‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮manager‬‏ ‏‮to‬‏ ‏‮enable‬‏ [`HTML Lazy Load`](https://support.nitropack.io/hc/en-us/articles/17144942904337). ‏‮Configuring‬‏ ‏‮it‬‏ ‏‮will‬‏ ‏‮prioritize‬‏ ‏‮and‬‏ ‏‮optimize‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮rendering‬‏ ‏‮performance‬‏."
3385
+ },
3386
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | font-display": {
3387
+ "message": "‏‮Use‬‏ ‏‮the‬‏ [`Override Font Rendering Behavior`](https://support.nitropack.io/hc/en-us/articles/16547358865041) ‏‮option‬‏ ‏‮in‬‏ ‏‮NitroPack‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮a‬‏ ‏‮desired‬‏ ‏‮value‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮CSS‬‏ ‏‮font‬‏-‏‮display‬‏ ‏‮rule‬‏."
3388
+ },
3389
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | modern-image-formats": {
3390
+ "message": "‏‮Use‬‏ [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/16547237162513) ‏‮to‬‏ ‏‮automatically‬‏ ‏‮convert‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮WebP‬‏."
3391
+ },
3392
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | offscreen-images": {
3393
+ "message": "‏‮Defer‬‏ ‏‮offscreen‬‏ ‏‮images‬‏ ‏‮by‬‏ ‏‮enabling‬‏ [`Automatic Image Lazy Loading`](https://support.nitropack.io/hc/en-us/articles/12457493524369-NitroPack-Lazy-Loading-Feature-for-Images)."
3394
+ },
3395
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
3396
+ "message": "‏‮Enable‬‏ [`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack) ‏‮in‬‏ ‏‮NitroPack‬‏ ‏‮for‬‏ ‏‮faster‬‏ ‏‮initial‬‏ ‏‮load‬‏ ‏‮times‬‏."
3397
+ },
3398
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
3399
+ "message": "‏‮Enable‬‏ [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) ‏‮in‬‏ ‏‮your‬‏ ‏‮Caching‬‏ ‏‮settings‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮CSS‬‏, ‏‮HTML‬‏, ‏‮and‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮for‬‏ ‏‮faster‬‏ ‏‮load‬‏ ‏‮times‬‏."
3400
+ },
3401
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-javascript": {
3402
+ "message": "‏‮Enable‬‏ [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) ‏‮in‬‏ ‏‮your‬‏ ‏‮Caching‬‏ ‏‮settings‬‏ ‏‮to‬‏ ‏‮reduce‬‏ ‏‮the‬‏ ‏‮size‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮JS‬‏, ‏‮HTML‬‏, ‏‮and‬‏ ‏‮CSS‬‏ ‏‮files‬‏ ‏‮for‬‏ ‏‮faster‬‏ ‏‮load‬‏ ‏‮times‬‏."
3403
+ },
3404
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-css-rules": {
3405
+ "message": "‏‮Enable‬‏ [`Reduce Unused CSS`](https://support.nitropack.io/hc/en-us/articles/360020418457-Reduce-Unused-CSS) ‏‮to‬‏ ‏‮remove‬‏ ‏‮CSS‬‏ ‏‮rules‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮applicable‬‏ ‏‮to‬‏ ‏‮this‬‏ ‏‮page‬‏."
3406
+ },
3407
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-javascript": {
3408
+ "message": "‏‮Configure‬‏ [`Delayed Scripts`](https://support.nitropack.io/hc/en-us/articles/1500002600942-Delayed-Scripts) ‏‮in‬‏ ‏‮NitroPack‬‏ ‏‮to‬‏ ‏‮delay‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮scripts‬‏ ‏‮until‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮needed‬‏."
3409
+ },
3410
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-long-cache-ttl": {
3411
+ "message": "‏‮Go‬‏ ‏‮to‬‏ ‏‮the‬‏ [`Improve Server Response Time`](https://support.nitropack.io/hc/en-us/articles/1500002321821-Improve-Server-Response-Time) ‏‮feature‬‏ ‏‮in‬‏ ‏‮the‬‏ `Caching` ‏‮menu‬‏ ‏‮and‬‏ ‏‮adjust‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮cache‬‏ ‏‮expiration‬‏ ‏‮time‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮loading‬‏ ‏‮times‬‏ ‏‮and‬‏ ‏‮user‬‏ ‏‮experience‬‏."
3412
+ },
3413
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-optimized-images": {
3414
+ "message": "‏‮Automatically‬‏ ‏‮compress‬‏, ‏‮optimize‬‏, ‏‮and‬‏ ‏‮convert‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮into‬‏ ‏‮WebP‬‏ ‏‮by‬‏ ‏‮enabling‬‏ ‏‮the‬‏ [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/14177271695121-How-to-serve-images-in-next-gen-formats-using-NitroPack) ‏‮setting‬‏."
3415
+ },
3416
+ "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
3417
+ "message": "‏‮Enable‬‏ [`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site) ‏‮to‬‏ ‏‮preemptively‬‏ ‏‮optimize‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮and‬‏ ‏‮make‬‏ ‏‮them‬‏ ‏‮match‬‏ ‏‮the‬‏ ‏‮dimensions‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮containers‬‏ ‏‮they‬‏’‏‮re‬‏ ‏‮displayed‬‏ ‏‮in‬‏ ‏‮across‬‏ ‏‮all‬‏ ‏‮devices‬‏."
3418
+ },
3419
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
3420
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ `format=\"webp\"`. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#format)."
3421
+ },
3422
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
3423
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ `loading=\"lazy\"` ‏‮for‬‏ ‏‮offscreen‬‏ ‏‮images‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#loading)."
3424
+ },
3425
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
3426
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮specify‬‏ `preload` ‏‮for‬‏ ‏‮LCP‬‏ ‏‮image‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#preload)."
3427
+ },
3428
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
3429
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮specify‬‏ ‏‮explicit‬‏ `width` ‏‮and‬‏ `height`. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#width-height)."
3430
+ },
3431
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
3432
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮appropriate‬‏ `quality`. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#quality)."
3433
+ },
3434
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
3435
+ "message": "‏‮Use‬‏ ‏‮the‬‏ `nuxt/image` ‏‮component‬‏ ‏‮and‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮appropriate‬‏ `sizes`. [‏‮Learn‬‏ ‏‮more‬‏](https://image.nuxt.com/usage/nuxt-img#sizes)."
3436
+ },
3437
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
3438
+ "message": "[‏‮Replace‬‏ ‏‮animated‬‏ ‏‮GIFs‬‏ ‏‮with‬‏ ‏‮video‬‏](https://web.dev/replace-gifs-with-videos/) ‏‮for‬‏ ‏‮faster‬‏ ‏‮web‬‏ ‏‮page‬‏ ‏‮loads‬‏ ‏‮and‬‏ ‏‮consider‬‏ ‏‮using‬‏ ‏‮modern‬‏ ‏‮file‬‏ ‏‮formats‬‏ ‏‮such‬‏ ‏‮as‬‏ [‏‮WebM‬‏](https://web.dev/replace-gifs-with-videos/#create-webm-videos) ‏‮or‬‏ [‏‮AV‬‏1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) ‏‮to‬‏ ‏‮improve‬‏ ‏‮compression‬‏ ‏‮efficiency‬‏ ‏‮by‬‏ ‏‮greater‬‏ ‏‮than‬‏ 30% ‏‮over‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮state‬‏-‏‮of‬‏-‏‮the‬‏-‏‮art‬‏ ‏‮video‬‏ ‏‮codec‬‏, ‏‮VP‬‏9."
3439
+ },
3440
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | modern-image-formats": {
3441
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ [‏‮plugin‬‏](https://octobercms.com/plugins?search=image) ‏‮or‬‏ ‏‮service‬‏ ‏‮that‬‏ ‏‮will‬‏ ‏‮automatically‬‏ ‏‮convert‬‏ ‏‮the‬‏ ‏‮uploaded‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮optimal‬‏ ‏‮formats‬‏. [‏‮WebP‬‏ ‏‮lossless‬‏ ‏‮images‬‏](https://developers.google.com/speed/webp) ‏‮are‬‏ 26% ‏‮smaller‬‏ ‏‮in‬‏ ‏‮size‬‏ ‏‮compared‬‏ ‏‮to‬‏ ‏‮PNGs‬‏ ‏‮and‬‏ 25-34% ‏‮smaller‬‏ ‏‮than‬‏ ‏‮comparable‬‏ ‏‮JPEG‬‏ ‏‮images‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮equivalent‬‏ ‏‮SSIM‬‏ ‏‮quality‬‏ ‏‮index‬‏. ‏‮Another‬‏ ‏‮next‬‏-‏‮gen‬‏ ‏‮image‬‏ ‏‮format‬‏ ‏‮to‬‏ ‏‮consider‬‏ ‏‮is‬‏ [‏‮AVIF‬‏](https://jakearchibald.com/2020/avif-has-landed/)."
3442
+ },
3443
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | offscreen-images": {
3444
+ "message": "‏‮Consider‬‏ ‏‮installing‬‏ ‏‮an‬‏ [‏‮image‬‏ ‏‮lazy‬‏ ‏‮loading‬‏ ‏‮plugin‬‏](https://octobercms.com/plugins?search=lazy) ‏‮that‬‏ ‏‮provides‬‏ ‏‮the‬‏ ‏‮ability‬‏ ‏‮to‬‏ ‏‮defer‬‏ ‏‮any‬‏ ‏‮offscreen‬‏ ‏‮images‬‏, ‏‮or‬‏ ‏‮switch‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮that‬‏ ‏‮provides‬‏ ‏‮that‬‏ ‏‮functionality‬‏. ‏‮Also‬‏ ‏‮consider‬‏ ‏‮using‬‏ [‏‮the‬‏ ‏‮AMP‬‏ ‏‮plugin‬‏](https://octobercms.com/plugins?search=Accelerated+Mobile+Pages)."
3445
+ },
3446
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | render-blocking-resources": {
3447
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮help‬‏ [‏‮inline‬‏ ‏‮critical‬‏ ‏‮assets‬‏](https://octobercms.com/plugins?search=css). ‏‮These‬‏ ‏‮plugins‬‏ ‏‮may‬‏ ‏‮break‬‏ ‏‮other‬‏ ‏‮plugins‬‏, ‏‮so‬‏ ‏‮you‬‏ ‏‮should‬‏ ‏‮test‬‏ ‏‮thoroughly‬‏."
3448
+ },
3449
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | server-response-time": {
3450
+ "message": "‏‮Themes‬‏, ‏‮plugins‬‏ ‏‮and‬‏ ‏‮server‬‏ ‏‮specifications‬‏ ‏‮all‬‏ ‏‮contribute‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮response‬‏ ‏‮time‬‏. ‏‮Consider‬‏ ‏‮finding‬‏ ‏‮a‬‏ ‏‮more‬‏ ‏‮optimized‬‏ ‏‮theme‬‏, ‏‮carefully‬‏ ‏‮selecting‬‏ ‏‮an‬‏ ‏‮optimization‬‏ ‏‮plugin‬‏ ‏‮and‬‏/‏‮or‬‏ ‏‮upgrade‬‏ ‏‮the‬‏ ‏‮server‬‏. ‏‮October‬‏ ‏‮CMS‬‏ ‏‮also‬‏ ‏‮allows‬‏ ‏‮developers‬‏ ‏‮to‬‏ ‏‮use‬‏ [`Queues`](https://octobercms.com/docs/services/queues) ‏‮to‬‏ ‏‮defer‬‏ ‏‮the‬‏ ‏‮processing‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮time‬‏ ‏‮consuming‬‏ ‏‮task‬‏, ‏‮such‬‏ ‏‮as‬‏ ‏‮sending‬‏ ‏‮an‬‏ ‏‮e‬‏-‏‮mail‬‏. ‏‮This‬‏ ‏‮drastically‬‏ ‏‮speeds‬‏ ‏‮up‬‏ ‏‮web‬‏ ‏‮requests‬‏."
3451
+ },
3452
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | total-byte-weight": {
3453
+ "message": "‏‮Consider‬‏ ‏‮showing‬‏ ‏‮excerpts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮post‬‏ ‏‮lists‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮using‬‏ ‏‮a‬‏ `show more` ‏‮button‬‏), ‏‮reducing‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮posts‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮web‬‏ ‏‮page‬‏, ‏‮breaking‬‏ ‏‮long‬‏ ‏‮posts‬‏ ‏‮into‬‏ ‏‮multiple‬‏ ‏‮web‬‏ ‏‮pages‬‏, ‏‮or‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮plugin‬‏ ‏‮to‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮comments‬‏."
3454
+ },
3455
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-css": {
3456
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ [‏‮plugins‬‏](https://octobercms.com/plugins?search=css) ‏‮that‬‏ ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮a‬‏ ‏‮website‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏ ‏‮and‬‏ ‏‮compressing‬‏ ‏‮the‬‏ ‏‮styles‬‏. ‏‮Using‬‏ ‏‮a‬‏ ‏‮build‬‏ ‏‮process‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮this‬‏ ‏‮minification‬‏ ‏‮up‬‏-‏‮front‬‏ ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮development‬‏."
3457
+ },
3458
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-javascript": {
3459
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ [‏‮plugins‬‏](https://octobercms.com/plugins?search=javascript) ‏‮that‬‏ ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮a‬‏ ‏‮website‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏ ‏‮and‬‏ ‏‮compressing‬‏ ‏‮the‬‏ ‏‮scripts‬‏. ‏‮Using‬‏ ‏‮a‬‏ ‏‮build‬‏ ‏‮process‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮this‬‏ ‏‮minification‬‏ ‏‮up‬‏-‏‮front‬‏ ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮development‬‏."
3460
+ },
3461
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-css-rules": {
3462
+ "message": "‏‮Consider‬‏ ‏‮reviewing‬‏ ‏‮the‬‏ [‏‮plugins‬‏](https://octobercms.com/plugins) ‏‮loading‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮website‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮add‬‏ ‏‮unnecessary‬‏ ‏‮CSS‬‏, ‏‮run‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮Identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮plugin‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏ ‏‮URL‬‏. ‏‮Look‬‏ ‏‮for‬‏ ‏‮plugins‬‏ ‏‮with‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮with‬‏ ‏‮lots‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮plugin‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮add‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏."
3463
+ },
3464
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-javascript": {
3465
+ "message": "‏‮Consider‬‏ ‏‮reviewing‬‏ ‏‮the‬‏ [‏‮plugins‬‏](https://octobercms.com/plugins?search=javascript) ‏‮that‬‏ ‏‮load‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮add‬‏ ‏‮unnecessary‬‏ ‏‮JavaScript‬‏, ‏‮run‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮Identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮plugin‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏. ‏‮Look‬‏ ‏‮for‬‏ ‏‮plugins‬‏ ‏‮with‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮with‬‏ ‏‮lots‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮plugin‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮add‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮page‬‏."
3466
+ },
3467
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-long-cache-ttl": {
3468
+ "message": "‏‮Read‬‏ ‏‮about‬‏ [‏‮preventing‬‏ ‏‮unnecessary‬‏ ‏‮network‬‏ ‏‮requests‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮HTTP‬‏ ‏‮Cache‬‏](https://web.dev/http-cache/#caching-checklist). ‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ [‏‮plugins‬‏](https://octobercms.com/plugins?search=Caching) ‏‮that‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮used‬‏ ‏‮to‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮caching‬‏."
3469
+ },
3470
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-optimized-images": {
3471
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮an‬‏ [‏‮image‬‏ ‏‮optimization‬‏ ‏‮plugin‬‏](https://octobercms.com/plugins?search=image) ‏‮to‬‏ ‏‮compresses‬‏ ‏‮images‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮the‬‏ ‏‮quality‬‏."
3472
+ },
3473
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-responsive-images": {
3474
+ "message": "‏‮Upload‬‏ ‏‮images‬‏ ‏‮directly‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮media‬‏ ‏‮manager‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮the‬‏ ‏‮required‬‏ ‏‮image‬‏ ‏‮sizes‬‏ ‏‮are‬‏ ‏‮available‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮the‬‏ [‏‮resize‬‏ ‏‮filter‬‏](https://octobercms.com/docs/markup/filter-resize) ‏‮or‬‏ ‏‮an‬‏ [‏‮image‬‏ ‏‮resizing‬‏ ‏‮plugin‬‏](https://octobercms.com/plugins?search=image) ‏‮to‬‏ ‏‮ensure‬‏ ‏‮the‬‏ ‏‮optimal‬‏ ‏‮image‬‏ ‏‮sizes‬‏ ‏‮are‬‏ ‏‮used‬‏."
3475
+ },
3476
+ "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-text-compression": {
3477
+ "message": "‏‮Enable‬‏ ‏‮text‬‏ ‏‮compression‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮web‬‏ ‏‮server‬‏ ‏‮configuration‬‏."
3478
+ },
3479
+ "node_modules/lighthouse-stack-packs/packs/react.js | dom-size": {
3480
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮a‬‏ \"‏‮windowing‬‏\" ‏‮library‬‏ ‏‮like‬‏ `react-window` ‏‮to‬‏ ‏‮minimize‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮DOM‬‏ ‏‮nodes‬‏ ‏‮created‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮rendering‬‏ ‏‮many‬‏ ‏‮repeated‬‏ ‏‮elements‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/virtualize-long-lists-react-window/). ‏‮Also‬‏, ‏‮minimize‬‏ ‏‮unnecessary‬‏ ‏‮re‬‏-‏‮renders‬‏ ‏‮using‬‏ [`shouldComponentUpdate`](https://reactjs.org/docs/optimizing-performance.html#shouldcomponentupdate-in-action), [`PureComponent`](https://reactjs.org/docs/react-api.html#reactpurecomponent), ‏‮or‬‏ [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) ‏‮and‬‏ [‏‮skip‬‏ ‏‮effects‬‏](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects) ‏‮only‬‏ ‏‮until‬‏ ‏‮certain‬‏ ‏‮dependencies‬‏ ‏‮have‬‏ ‏‮changed‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮the‬‏ `Effect` ‏‮hook‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮runtime‬‏ ‏‮performance‬‏."
3481
+ },
3482
+ "node_modules/lighthouse-stack-packs/packs/react.js | redirects": {
3483
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮using‬‏ ‏‮React‬‏ ‏‮Router‬‏, ‏‮minimize‬‏ ‏‮usage‬‏ ‏‮of‬‏ ‏‮the‬‏ `<Redirect>` ‏‮component‬‏ ‏‮for‬‏ [‏‮route‬‏ ‏‮navigations‬‏](https://reacttraining.com/react-router/web/api/Redirect)."
3484
+ },
3485
+ "node_modules/lighthouse-stack-packs/packs/react.js | server-response-time": {
3486
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮server‬‏-‏‮side‬‏ ‏‮rendering‬‏ ‏‮any‬‏ ‏‮React‬‏ ‏‮components‬‏, ‏‮consider‬‏ ‏‮using‬‏ `renderToPipeableStream()` ‏‮or‬‏ `renderToStaticNodeStream()` ‏‮to‬‏ ‏‮allow‬‏ ‏‮the‬‏ ‏‮client‬‏ ‏‮to‬‏ ‏‮receive‬‏ ‏‮and‬‏ ‏‮hydrate‬‏ ‏‮different‬‏ ‏‮parts‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮markup‬‏ ‏‮instead‬‏ ‏‮of‬‏ ‏‮all‬‏ ‏‮at‬‏ ‏‮once‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://reactjs.org/docs/react-dom-server.html#renderToPipeableStream)."
3487
+ },
3488
+ "node_modules/lighthouse-stack-packs/packs/react.js | unminified-css": {
3489
+ "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮build‬‏ ‏‮system‬‏ ‏‮minifies‬‏ ‏‮CSS‬‏ ‏‮files‬‏ ‏‮automatically‬‏, ‏‮ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮deploying‬‏ ‏‮the‬‏ ‏‮production‬‏ ‏‮build‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮check‬‏ ‏‮this‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮React‬‏ ‏‮Developer‬‏ ‏‮Tools‬‏ ‏‮extension‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
3490
+ },
3491
+ "node_modules/lighthouse-stack-packs/packs/react.js | unminified-javascript": {
3492
+ "message": "‏‮If‬‏ ‏‮your‬‏ ‏‮build‬‏ ‏‮system‬‏ ‏‮minifies‬‏ ‏‮JS‬‏ ‏‮files‬‏ ‏‮automatically‬‏, ‏‮ensure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮deploying‬‏ ‏‮the‬‏ ‏‮production‬‏ ‏‮build‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮application‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮check‬‏ ‏‮this‬‏ ‏‮with‬‏ ‏‮the‬‏ ‏‮React‬‏ ‏‮Developer‬‏ ‏‮Tools‬‏ ‏‮extension‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
3493
+ },
3494
+ "node_modules/lighthouse-stack-packs/packs/react.js | unused-javascript": {
3495
+ "message": "‏‮If‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮server‬‏-‏‮side‬‏ ‏‮rendering‬‏, [‏‮split‬‏ ‏‮your‬‏ ‏‮JavaScript‬‏ ‏‮bundles‬‏](https://web.dev/code-splitting-suspense/) ‏‮with‬‏ `React.lazy()`. ‏‮Otherwise‬‏, ‏‮code‬‏-‏‮split‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮library‬‏ ‏‮such‬‏ ‏‮as‬‏ [‏‮loadable‬‏-‏‮components‬‏](https://loadable-components.com/)."
3496
+ },
3497
+ "node_modules/lighthouse-stack-packs/packs/react.js | user-timings": {
3498
+ "message": "‏‮Use‬‏ ‏‮the‬‏ ‏‮React‬‏ ‏‮DevTools‬‏ ‏‮Profiler‬‏, ‏‮which‬‏ ‏‮makes‬‏ ‏‮use‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮Profiler‬‏ ‏‮API‬‏, ‏‮to‬‏ ‏‮measure‬‏ ‏‮the‬‏ ‏‮rendering‬‏ ‏‮performance‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮components‬‏. [‏‮Learn‬‏ ‏‮more‬‏.](https://reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)"
3499
+ },
3500
+ "node_modules/lighthouse-stack-packs/packs/wix.js | efficient-animated-content": {
3501
+ "message": "‏‮Place‬‏ ‏‮videos‬‏ ‏‮inside‬‏ `VideoBoxes`, ‏‮customize‬‏ ‏‮them‬‏ ‏‮using‬‏ `Video Masks` ‏‮or‬‏ ‏‮add‬‏ `Transparent Videos`. [‏‮Learn‬‏ ‏‮more‬‏](https://support.wix.com/en/article/wix-video-about-wix-video)."
3502
+ },
3503
+ "node_modules/lighthouse-stack-packs/packs/wix.js | modern-image-formats": {
3504
+ "message": "‏‮Upload‬‏ ‏‮images‬‏ ‏‮using‬‏ `Wix Media Manager` ‏‮to‬‏ ‏‮ensure‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮automatically‬‏ ‏‮served‬‏ ‏‮as‬‏ ‏‮WebP‬‏. ‏‮Find‬‏ [‏‮more‬‏ ‏‮ways‬‏ ‏‮to‬‏ ‏‮optimize‬‏](https://support.wix.com/en/article/site-performance-optimizing-your-media) ‏‮your‬‏ ‏‮site‬‏'‏‮s‬‏ ‏‮media‬‏."
3505
+ },
3506
+ "node_modules/lighthouse-stack-packs/packs/wix.js | render-blocking-resources": {
3507
+ "message": "‏‮When‬‏ [‏‮adding‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮code‬‏](https://support.wix.com/en/article/site-performance-using-third-party-code-on-your-site) ‏‮in‬‏ ‏‮the‬‏ `Custom Code` ‏‮tab‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏'‏‮s‬‏ ‏‮dashboard‬‏, ‏‮make‬‏ ‏‮sure‬‏ ‏‮it‬‏'‏‮s‬‏ ‏‮deferred‬‏ ‏‮or‬‏ ‏‮loaded‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮code‬‏ ‏‮body‬‏. ‏‮Where‬‏ ‏‮possible‬‏, ‏‮use‬‏ ‏‮Wix‬‏’‏‮s‬‏ [‏‮integrations‬‏](https://support.wix.com/en/article/about-marketing-integrations) ‏‮to‬‏ ‏‮embed‬‏ ‏‮marketing‬‏ ‏‮tools‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏. "
3508
+ },
3509
+ "node_modules/lighthouse-stack-packs/packs/wix.js | server-response-time": {
3510
+ "message": "‏‮Wix‬‏ ‏‮utilizes‬‏ ‏‮CDNs‬‏ ‏‮and‬‏ ‏‮caching‬‏ ‏‮to‬‏ ‏‮serve‬‏ ‏‮responses‬‏ ‏‮as‬‏ ‏‮fast‬‏ ‏‮as‬‏ ‏‮possible‬‏ ‏‮for‬‏ ‏‮most‬‏ ‏‮visitors‬‏. ‏‮Consider‬‏ [‏‮manually‬‏ ‏‮enabling‬‏ ‏‮caching‬‏](https://support.wix.com/en/article/site-performance-caching-pages-to-optimize-loading-speed) ‏‮for‬‏ ‏‮your‬‏ ‏‮site‬‏, ‏‮especially‬‏ ‏‮if‬‏ ‏‮using‬‏ `Velo`."
3511
+ },
3512
+ "node_modules/lighthouse-stack-packs/packs/wix.js | unused-javascript": {
3513
+ "message": "‏‮Review‬‏ ‏‮any‬‏ ‏‮third‬‏-‏‮party‬‏ ‏‮code‬‏ ‏‮you‬‏'‏‮ve‬‏ ‏‮added‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮in‬‏ ‏‮the‬‏ `Custom Code` ‏‮tab‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮site‬‏'‏‮s‬‏ ‏‮dashboard‬‏ ‏‮and‬‏ ‏‮only‬‏ ‏‮keep‬‏ ‏‮the‬‏ ‏‮services‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮necessary‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮site‬‏. [‏‮Find‬‏ ‏‮out‬‏ ‏‮more‬‏](https://support.wix.com/en/article/site-performance-removing-unused-javascript)."
3514
+ },
3515
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | efficient-animated-content": {
3516
+ "message": "‏‮Consider‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮GIF‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮service‬‏ ‏‮which‬‏ ‏‮will‬‏ ‏‮make‬‏ ‏‮it‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮embed‬‏ ‏‮as‬‏ ‏‮an‬‏ ‏‮HTML‬‏5 ‏‮video‬‏."
3517
+ },
3518
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | modern-image-formats": {
3519
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮the‬‏ [‏‮Performance‬‏ ‏‮Lab‬‏](https://wordpress.org/plugins/performance-lab/) ‏‮plugin‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮convert‬‏ ‏‮your‬‏ ‏‮uploaded‬‏ ‏‮JPEG‬‏ ‏‮images‬‏ ‏‮into‬‏ ‏‮WebP‬‏, ‏‮wherever‬‏ ‏‮supported‬‏."
3520
+ },
3521
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | offscreen-images": {
3522
+ "message": "‏‮Install‬‏ ‏‮a‬‏ [‏‮lazy‬‏-‏‮load‬‏ ‏‮WordPress‬‏ ‏‮plugin‬‏](https://wordpress.org/plugins/search/lazy+load/) ‏‮that‬‏ ‏‮provides‬‏ ‏‮the‬‏ ‏‮ability‬‏ ‏‮to‬‏ ‏‮defer‬‏ ‏‮any‬‏ ‏‮offscreen‬‏ ‏‮images‬‏, ‏‮or‬‏ ‏‮switch‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮theme‬‏ ‏‮that‬‏ ‏‮provides‬‏ ‏‮that‬‏ ‏‮functionality‬‏. ‏‮Also‬‏ ‏‮consider‬‏ ‏‮using‬‏ [‏‮the‬‏ ‏‮AMP‬‏ ‏‮plugin‬‏](https://wordpress.org/plugins/amp/)."
3523
+ },
3524
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | render-blocking-resources": {
3525
+ "message": "‏‮There‬‏ ‏‮are‬‏ ‏‮a‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮WordPress‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮can‬‏ ‏‮help‬‏ ‏‮you‬‏ [‏‮inline‬‏ ‏‮critical‬‏ ‏‮assets‬‏](https://wordpress.org/plugins/search/critical+css/) ‏‮or‬‏ [‏‮defer‬‏ ‏‮less‬‏ ‏‮important‬‏ ‏‮resources‬‏](https://wordpress.org/plugins/search/defer+css+javascript/). ‏‮Beware‬‏ ‏‮that‬‏ ‏‮optimizations‬‏ ‏‮provided‬‏ ‏‮by‬‏ ‏‮these‬‏ ‏‮plugins‬‏ ‏‮may‬‏ ‏‮break‬‏ ‏‮features‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮theme‬‏ ‏‮or‬‏ ‏‮plugins‬‏, ‏‮so‬‏ ‏‮you‬‏ ‏‮will‬‏ ‏‮likely‬‏ ‏‮need‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮code‬‏ ‏‮changes‬‏."
3526
+ },
3527
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | server-response-time": {
3528
+ "message": "‏‮Choose‬‏ ‏‮a‬‏ ‏‮lightweight‬‏ ‏‮theme‬‏ (‏‮ideally‬‏ ‏‮a‬‏ ‏‮block‬‏ ‏‮theme‬‏) ‏‮and‬‏ ‏‮implement‬‏ ‏‮full‬‏-‏‮page‬‏ ‏‮caching‬‏ ‏‮or‬‏ ‏‮a‬‏ ‏‮static‬‏ ‏‮site‬‏ ‏‮solution‬‏. ‏‮Disable‬‏ ‏‮unnecessary‬‏ ‏‮plugins‬‏ ‏‮to‬‏ ‏‮minimize‬‏ ‏‮server‬‏ ‏‮overhead‬‏. ‏‮Consider‬‏ ‏‮upgrading‬‏ ‏‮your‬‏ ‏‮hosting‬‏ ‏‮to‬‏ ‏‮managed‬‏ ‏‮or‬‏ ‏‮dedicated‬‏ ‏‮service‬‏."
3529
+ },
3530
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | total-byte-weight": {
3531
+ "message": "‏‮Consider‬‏ ‏‮showing‬‏ ‏‮excerpts‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮post‬‏ ‏‮lists‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮via‬‏ ‏‮the‬‏ ‏‮more‬‏ ‏‮tag‬‏), ‏‮reducing‬‏ ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮posts‬‏ ‏‮shown‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮given‬‏ ‏‮page‬‏, ‏‮breaking‬‏ ‏‮your‬‏ ‏‮long‬‏ ‏‮posts‬‏ ‏‮into‬‏ ‏‮multiple‬‏ ‏‮pages‬‏, ‏‮or‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮plugin‬‏ ‏‮to‬‏ ‏‮lazy‬‏-‏‮load‬‏ ‏‮comments‬‏."
3532
+ },
3533
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-css": {
3534
+ "message": "‏‮A‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮WordPress‬‏ ‏‮plugins‬‏](https://wordpress.org/plugins/search/minify+css/) ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏, ‏‮and‬‏ ‏‮compressing‬‏ ‏‮your‬‏ ‏‮styles‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮also‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮build‬‏ ‏‮process‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮this‬‏ ‏‮minification‬‏ ‏‮up‬‏-‏‮front‬‏ ‏‮if‬‏ ‏‮possible‬‏."
3535
+ },
3536
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-javascript": {
3537
+ "message": "‏‮A‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮WordPress‬‏ ‏‮plugins‬‏](https://wordpress.org/plugins/search/minify+javascript/) ‏‮can‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮by‬‏ ‏‮concatenating‬‏, ‏‮minifying‬‏, ‏‮and‬‏ ‏‮compressing‬‏ ‏‮your‬‏ ‏‮scripts‬‏. ‏‮You‬‏ ‏‮may‬‏ ‏‮also‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮build‬‏ ‏‮process‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮this‬‏ ‏‮minification‬‏ ‏‮up‬‏ ‏‮front‬‏ ‏‮if‬‏ ‏‮possible‬‏."
3538
+ },
3539
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-css-rules": {
3540
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏, ‏‮or‬‏ ‏‮switching‬‏, ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮WordPress‬‏ ‏‮plugins‬‏](https://wordpress.org/plugins/) ‏‮loading‬‏ ‏‮unused‬‏ ‏‮CSS‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮CSS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage/) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮plugin‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮stylesheet‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮stylesheets‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮plugin‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮stylesheet‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3541
+ },
3542
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-javascript": {
3543
+ "message": "‏‮Consider‬‏ ‏‮reducing‬‏, ‏‮or‬‏ ‏‮switching‬‏, ‏‮the‬‏ ‏‮number‬‏ ‏‮of‬‏ [‏‮WordPress‬‏ ‏‮plugins‬‏](https://wordpress.org/plugins/) ‏‮loading‬‏ ‏‮unused‬‏ ‏‮JavaScript‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮page‬‏. ‏‮To‬‏ ‏‮identify‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮adding‬‏ ‏‮extraneous‬‏ ‏‮JS‬‏, ‏‮try‬‏ ‏‮running‬‏ [‏‮code‬‏ ‏‮coverage‬‏](https://developer.chrome.com/docs/devtools/coverage/) ‏‮in‬‏ ‏‮Chrome‬‏ ‏‮DevTools‬‏. ‏‮You‬‏ ‏‮can‬‏ ‏‮identify‬‏ ‏‮the‬‏ ‏‮theme‬‏/‏‮plugin‬‏ ‏‮responsible‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮URL‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮script‬‏. ‏‮Look‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮have‬‏ ‏‮many‬‏ ‏‮scripts‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮list‬‏ ‏‮which‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮lot‬‏ ‏‮of‬‏ ‏‮red‬‏ ‏‮in‬‏ ‏‮code‬‏ ‏‮coverage‬‏. ‏‮A‬‏ ‏‮plugin‬‏ ‏‮should‬‏ ‏‮only‬‏ ‏‮enqueue‬‏ ‏‮a‬‏ ‏‮script‬‏ ‏‮if‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮actually‬‏ ‏‮used‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮page‬‏."
3544
+ },
3545
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-long-cache-ttl": {
3546
+ "message": "‏‮Read‬‏ ‏‮about‬‏ [‏‮Browser‬‏ ‏‮Caching‬‏ ‏‮in‬‏ ‏‮WordPress‬‏](https://wordpress.org/support/article/optimization/#browser-caching)."
3547
+ },
3548
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-optimized-images": {
3549
+ "message": "‏‮Consider‬‏ ‏‮using‬‏ ‏‮an‬‏ [‏‮image‬‏ ‏‮optimization‬‏ ‏‮WordPress‬‏ ‏‮plugin‬‏](https://wordpress.org/plugins/search/optimize+images/) ‏‮that‬‏ ‏‮compresses‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮while‬‏ ‏‮retaining‬‏ ‏‮quality‬‏."
3550
+ },
3551
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-responsive-images": {
3552
+ "message": "‏‮Upload‬‏ ‏‮images‬‏ ‏‮directly‬‏ ‏‮through‬‏ ‏‮the‬‏ [‏‮media‬‏ ‏‮library‬‏](https://wordpress.org/support/article/media-library-screen/) ‏‮to‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮required‬‏ ‏‮image‬‏ ‏‮sizes‬‏ ‏‮are‬‏ ‏‮available‬‏, ‏‮and‬‏ ‏‮then‬‏ ‏‮insert‬‏ ‏‮them‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮media‬‏ ‏‮library‬‏ ‏‮or‬‏ ‏‮use‬‏ ‏‮the‬‏ ‏‮image‬‏ ‏‮widget‬‏ ‏‮to‬‏ ‏‮ensure‬‏ ‏‮the‬‏ ‏‮optimal‬‏ ‏‮image‬‏ ‏‮sizes‬‏ ‏‮are‬‏ ‏‮used‬‏ (‏‮including‬‏ ‏‮those‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮responsive‬‏ ‏‮breakpoints‬‏). ‏‮Avoid‬‏ ‏‮using‬‏ `Full Size` ‏‮images‬‏ ‏‮unless‬‏ ‏‮the‬‏ ‏‮dimensions‬‏ ‏‮are‬‏ ‏‮adequate‬‏ ‏‮for‬‏ ‏‮their‬‏ ‏‮usage‬‏. [‏‮Learn‬‏ ‏‮More‬‏](https://wordpress.org/support/article/inserting-images-into-posts-and-pages/)."
3553
+ },
3554
+ "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-text-compression": {
3555
+ "message": "‏‮You‬‏ ‏‮can‬‏ ‏‮enable‬‏ ‏‮text‬‏ ‏‮compression‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮web‬‏ ‏‮server‬‏ ‏‮configuration‬‏."
3556
+ },
3557
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | modern-image-formats": {
3558
+ "message": "‏‮Enable‬‏ '‏‮Imagify‬‏' ‏‮from‬‏ ‏‮the‬‏ ‏‮Image‬‏ ‏‮Optimization‬‏ ‏‮tab‬‏ ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮convert‬‏ ‏‮your‬‏ ‏‮images‬‏ ‏‮to‬‏ ‏‮WebP‬‏."
3559
+ },
3560
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | offscreen-images": {
3561
+ "message": "‏‮Enable‬‏ [‏‮LazyLoad‬‏](https://docs.wp-rocket.me/article/1141-lazyload-for-images) ‏‮in‬‏ ‏‮WP‬‏ ‏‮Rocket‬‏ ‏‮to‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮recommendation‬‏. ‏‮This‬‏ ‏‮feature‬‏ ‏‮delays‬‏ ‏‮the‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮images‬‏ ‏‮until‬‏ ‏‮the‬‏ ‏‮visitor‬‏ ‏‮scrolls‬‏ ‏‮down‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮and‬‏ ‏‮actually‬‏ ‏‮needs‬‏ ‏‮to‬‏ ‏‮see‬‏ ‏‮them‬‏."
3562
+ },
3563
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | render-blocking-resources": {
3564
+ "message": "‏‮Enable‬‏ [‏‮Remove‬‏ ‏‮Unused‬‏ ‏‮CSS‬‏](https://docs.wp-rocket.me/article/1529-remove-unused-css) ‏‮and‬‏ [‏‮Load‬‏ ‏‮JavaScript‬‏ ‏‮deferred‬‏](https://docs.wp-rocket.me/article/1265-load-javascript-deferred) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮address‬‏ ‏‮this‬‏ ‏‮recommendation‬‏. ‏‮These‬‏ ‏‮features‬‏ ‏‮will‬‏ ‏‮respectively‬‏ ‏‮optimize‬‏ ‏‮the‬‏ ‏‮CSS‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮so‬‏ ‏‮that‬‏ ‏‮they‬‏ ‏‮don‬‏'‏‮t‬‏ ‏‮block‬‏ ‏‮the‬‏ ‏‮rendering‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮page‬‏."
3565
+ },
3566
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-css": {
3567
+ "message": "‏‮Enable‬‏ [‏‮Minify‬‏ ‏‮CSS‬‏ ‏‮files‬‏](https://docs.wp-rocket.me/article/1350-css-minify-combine) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮issue‬‏. ‏‮Any‬‏ ‏‮spaces‬‏ ‏‮and‬‏ ‏‮comments‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮site‬‏'‏‮s‬‏ ‏‮CSS‬‏ ‏‮files‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮the‬‏ ‏‮file‬‏ ‏‮size‬‏ ‏‮smaller‬‏ ‏‮and‬‏ ‏‮faster‬‏ ‏‮to‬‏ ‏‮download‬‏."
3568
+ },
3569
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-javascript": {
3570
+ "message": "‏‮Enable‬‏ [‏‮Minify‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏](https://docs.wp-rocket.me/article/1351-javascript-minify-combine) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮issue‬‏. ‏‮Empty‬‏ ‏‮spaces‬‏ ‏‮and‬‏ ‏‮comments‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮JavaScript‬‏ ‏‮files‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮their‬‏ ‏‮size‬‏ ‏‮smaller‬‏ ‏‮and‬‏ ‏‮faster‬‏ ‏‮to‬‏ ‏‮download‬‏."
3571
+ },
3572
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-css-rules": {
3573
+ "message": "‏‮Enable‬‏ [‏‮Remove‬‏ ‏‮Unused‬‏ ‏‮CSS‬‏](https://docs.wp-rocket.me/article/1529-remove-unused-css) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮issue‬‏. ‏‮It‬‏ ‏‮reduces‬‏ ‏‮page‬‏ ‏‮size‬‏ ‏‮by‬‏ ‏‮removing‬‏ ‏‮all‬‏ ‏‮CSS‬‏ ‏‮and‬‏ ‏‮stylesheets‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮used‬‏ ‏‮while‬‏ ‏‮keeping‬‏ ‏‮only‬‏ ‏‮the‬‏ ‏‮used‬‏ ‏‮CSS‬‏ ‏‮for‬‏ ‏‮each‬‏ ‏‮page‬‏."
3574
+ },
3575
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-javascript": {
3576
+ "message": "‏‮Enable‬‏ [‏‮Delay‬‏ ‏‮JavaScript‬‏ ‏‮execution‬‏](https://docs.wp-rocket.me/article/1349-delay-javascript-execution) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮problem‬‏. ‏‮It‬‏ ‏‮will‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮loading‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮by‬‏ ‏‮delaying‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮scripts‬‏ ‏‮until‬‏ ‏‮user‬‏ ‏‮interaction‬‏. ‏‮If‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮has‬‏ ‏‮iframes‬‏, ‏‮you‬‏ ‏‮can‬‏ ‏‮use‬‏ ‏‮WP‬‏ ‏‮Rocket‬‏'‏‮s‬‏ [‏‮LazyLoad‬‏ ‏‮for‬‏ ‏‮iframes‬‏ ‏‮and‬‏ ‏‮videos‬‏](https://docs.wp-rocket.me/article/1674-lazyload-for-iframes-and-videos) ‏‮and‬‏ [‏‮Replace‬‏ ‏‮YouTube‬‏ ‏‮iframe‬‏ ‏‮with‬‏ ‏‮preview‬‏ ‏‮image‬‏](https://docs.wp-rocket.me/article/1488-replace-youtube-iframe-with-preview-image) ‏‮as‬‏ ‏‮well‬‏."
3577
+ },
3578
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-optimized-images": {
3579
+ "message": "‏‮Enable‬‏ '‏‮Imagify‬‏' ‏‮from‬‏ ‏‮the‬‏ ‏‮Image‬‏ ‏‮Optimization‬‏ ‏‮tab‬‏ ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮and‬‏ ‏‮run‬‏ ‏‮Bulk‬‏ ‏‮Optimization‬‏ ‏‮to‬‏ ‏‮compress‬‏ ‏‮your‬‏ ‏‮images‬‏."
3580
+ },
3581
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preconnect": {
3582
+ "message": "‏‮Use‬‏ [‏‮Prefetch‬‏ ‏‮DNS‬‏ ‏‮Requests‬‏](https://docs.wp-rocket.me/article/1302-prefetch-dns-requests) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮to‬‏ ‏‮add‬‏ \"‏‮dns‬‏-‏‮prefetch‬‏\" ‏‮and‬‏ ‏‮speed‬‏ ‏‮up‬‏ ‏‮the‬‏ ‏‮connection‬‏ ‏‮with‬‏ ‏‮external‬‏ ‏‮domains‬‏. ‏‮Also‬‏, '‏‮WP‬‏ ‏‮Rocket‬‏' ‏‮automatically‬‏ ‏‮adds‬‏ \"‏‮preconnect‬‏\" ‏‮to‬‏ [‏‮Google‬‏ ‏‮Fonts‬‏ ‏‮domain‬‏](https://docs.wp-rocket.me/article/1312-optimize-google-fonts) ‏‮and‬‏ ‏‮any‬‏ ‏‮CNAME‬‏(‏‮S‬‏) ‏‮added‬‏ ‏‮via‬‏ ‏‮the‬‏ [‏‮Enable‬‏ ‏‮CDN‬‏](https://docs.wp-rocket.me/article/42-using-wp-rocket-with-a-cdn) ‏‮feature‬‏."
3583
+ },
3584
+ "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preload": {
3585
+ "message": "‏‮To‬‏ ‏‮fix‬‏ ‏‮this‬‏ ‏‮issue‬‏ ‏‮for‬‏ ‏‮fonts‬‏, ‏‮enable‬‏ [‏‮Remove‬‏ ‏‮Unused‬‏ ‏‮CSS‬‏](https://docs.wp-rocket.me/article/1529-remove-unused-css) ‏‮in‬‏ '‏‮WP‬‏ ‏‮Rocket‬‏'. ‏‮Your‬‏ ‏‮site‬‏'‏‮s‬‏ ‏‮critical‬‏ ‏‮fonts‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮preloaded‬‏ ‏‮with‬‏ ‏‮priority‬‏."
3586
+ },
3587
+ "report/renderer/report-utils.js | calculatorLink": {
3588
+ "message": "‏‮See‬‏ ‏‮calculator‬‏."
3589
+ },
3590
+ "report/renderer/report-utils.js | collapseView": {
3591
+ "message": "‏‮Collapse‬‏ ‏‮view‬‏"
3592
+ },
3593
+ "report/renderer/report-utils.js | crcInitialNavigation": {
3594
+ "message": "‏‮Initial‬‏ ‏‮Navigation‬‏"
3595
+ },
3596
+ "report/renderer/report-utils.js | crcLongestDurationLabel": {
3597
+ "message": "‏‮Maximum‬‏ ‏‮critical‬‏ ‏‮path‬‏ ‏‮latency‬‏:"
3598
+ },
3599
+ "report/renderer/report-utils.js | dropdownCopyJSON": {
3600
+ "message": "‏‮Copy‬‏ ‏‮JSON‬‏"
3601
+ },
3602
+ "report/renderer/report-utils.js | dropdownDarkTheme": {
3603
+ "message": "‏‮Toggle‬‏ ‏‮Dark‬‏ ‏‮Theme‬‏"
3604
+ },
3605
+ "report/renderer/report-utils.js | dropdownPrintExpanded": {
3606
+ "message": "‏‮Print‬‏ ‏‮Expanded‬‏"
3607
+ },
3608
+ "report/renderer/report-utils.js | dropdownPrintSummary": {
3609
+ "message": "‏‮Print‬‏ ‏‮Summary‬‏"
3610
+ },
3611
+ "report/renderer/report-utils.js | dropdownSaveGist": {
3612
+ "message": "‏‮Save‬‏ ‏‮as‬‏ ‏‮Gist‬‏"
3613
+ },
3614
+ "report/renderer/report-utils.js | dropdownSaveHTML": {
3615
+ "message": "‏‮Save‬‏ ‏‮as‬‏ ‏‮HTML‬‏"
3616
+ },
3617
+ "report/renderer/report-utils.js | dropdownSaveJSON": {
3618
+ "message": "‏‮Save‬‏ ‏‮as‬‏ ‏‮JSON‬‏"
3619
+ },
3620
+ "report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
3621
+ "message": "‏‮View‬‏ ‏‮Unthrottled‬‏ ‏‮Trace‬‏"
3622
+ },
3623
+ "report/renderer/report-utils.js | dropdownViewer": {
3624
+ "message": "‏‮Open‬‏ ‏‮in‬‏ ‏‮Viewer‬‏"
3625
+ },
3626
+ "report/renderer/report-utils.js | errorLabel": {
3627
+ "message": "‏‮Error‬‏!"
3628
+ },
3629
+ "report/renderer/report-utils.js | errorMissingAuditInfo": {
3630
+ "message": "‏‮Report‬‏ ‏‮error‬‏: ‏‮no‬‏ ‏‮audit‬‏ ‏‮information‬‏"
3631
+ },
3632
+ "report/renderer/report-utils.js | expandView": {
3633
+ "message": "‏‮Expand‬‏ ‏‮view‬‏"
3634
+ },
3635
+ "report/renderer/report-utils.js | firstPartyChipLabel": {
3636
+ "message": "1‏‮st‬‏ ‏‮party‬‏"
3637
+ },
3638
+ "report/renderer/report-utils.js | footerIssue": {
3639
+ "message": "‏‮File‬‏ ‏‮an‬‏ ‏‮issue‬‏"
3640
+ },
3641
+ "report/renderer/report-utils.js | hide": {
3642
+ "message": "‏‮Hide‬‏"
3643
+ },
3644
+ "report/renderer/report-utils.js | labDataTitle": {
3645
+ "message": "‏‮Lab‬‏ ‏‮Data‬‏"
3646
+ },
3647
+ "report/renderer/report-utils.js | lsPerformanceCategoryDescription": {
3648
+ "message": "[‏‮Lighthouse‬‏](https://developers.google.com/web/tools/lighthouse/) ‏‮analysis‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮page‬‏ ‏‮on‬‏ ‏‮an‬‏ ‏‮emulated‬‏ ‏‮mobile‬‏ ‏‮network‬‏. ‏‮Values‬‏ ‏‮are‬‏ ‏‮estimated‬‏ ‏‮and‬‏ ‏‮may‬‏ ‏‮vary‬‏."
3649
+ },
3650
+ "report/renderer/report-utils.js | manualAuditsGroupTitle": {
3651
+ "message": "‏‮Additional‬‏ ‏‮items‬‏ ‏‮to‬‏ ‏‮manually‬‏ ‏‮check‬‏"
3652
+ },
3653
+ "report/renderer/report-utils.js | notApplicableAuditsGroupTitle": {
3654
+ "message": "‏‮Not‬‏ ‏‮applicable‬‏"
3655
+ },
3656
+ "report/renderer/report-utils.js | openInANewTabTooltip": {
3657
+ "message": "‏‮Open‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮new‬‏ ‏‮tab‬‏"
3658
+ },
3659
+ "report/renderer/report-utils.js | opportunityResourceColumnLabel": {
3660
+ "message": "‏‮Opportunity‬‏"
3661
+ },
3662
+ "report/renderer/report-utils.js | opportunitySavingsColumnLabel": {
3663
+ "message": "‏‮Estimated‬‏ ‏‮Savings‬‏"
3664
+ },
3665
+ "report/renderer/report-utils.js | passedAuditsGroupTitle": {
3666
+ "message": "‏‮Passed‬‏ ‏‮audits‬‏"
3667
+ },
3668
+ "report/renderer/report-utils.js | runtimeAnalysisWindow": {
3669
+ "message": "‏‮Initial‬‏ ‏‮page‬‏ ‏‮load‬‏"
3670
+ },
3671
+ "report/renderer/report-utils.js | runtimeAnalysisWindowSnapshot": {
3672
+ "message": "‏‮Point‬‏-‏‮in‬‏-‏‮time‬‏ ‏‮snapshot‬‏"
3673
+ },
3674
+ "report/renderer/report-utils.js | runtimeAnalysisWindowTimespan": {
3675
+ "message": "‏‮User‬‏ ‏‮interactions‬‏ ‏‮timespan‬‏"
3676
+ },
3677
+ "report/renderer/report-utils.js | runtimeCustom": {
3678
+ "message": "‏‮Custom‬‏ ‏‮throttling‬‏"
3679
+ },
3680
+ "report/renderer/report-utils.js | runtimeDesktopEmulation": {
3681
+ "message": "‏‮Emulated‬‏ ‏‮Desktop‬‏"
3682
+ },
3683
+ "report/renderer/report-utils.js | runtimeMobileEmulation": {
3684
+ "message": "‏‮Emulated‬‏ ‏‮Moto‬‏ ‏‮G‬‏ ‏‮Power‬‏"
3685
+ },
3686
+ "report/renderer/report-utils.js | runtimeNoEmulation": {
3687
+ "message": "‏‮No‬‏ ‏‮emulation‬‏"
3688
+ },
3689
+ "report/renderer/report-utils.js | runtimeSettingsAxeVersion": {
3690
+ "message": "‏‮Axe‬‏ ‏‮version‬‏"
3691
+ },
3692
+ "report/renderer/report-utils.js | runtimeSettingsBenchmark": {
3693
+ "message": "‏‮Unthrottled‬‏ ‏‮CPU‬‏/‏‮Memory‬‏ ‏‮Power‬‏"
3694
+ },
3695
+ "report/renderer/report-utils.js | runtimeSettingsCPUThrottling": {
3696
+ "message": "‏‮CPU‬‏ ‏‮throttling‬‏"
3697
+ },
3698
+ "report/renderer/report-utils.js | runtimeSettingsDevice": {
3699
+ "message": "‏‮Device‬‏"
3700
+ },
3701
+ "report/renderer/report-utils.js | runtimeSettingsNetworkThrottling": {
3702
+ "message": "‏‮Network‬‏ ‏‮throttling‬‏"
3703
+ },
3704
+ "report/renderer/report-utils.js | runtimeSettingsScreenEmulation": {
3705
+ "message": "‏‮Screen‬‏ ‏‮emulation‬‏"
3706
+ },
3707
+ "report/renderer/report-utils.js | runtimeSettingsUANetwork": {
3708
+ "message": "‏‮User‬‏ ‏‮agent‬‏ (‏‮network‬‏)"
3709
+ },
3710
+ "report/renderer/report-utils.js | runtimeSingleLoad": {
3711
+ "message": "‏‮Single‬‏ ‏‮page‬‏ ‏‮session‬‏"
3712
+ },
3713
+ "report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
3714
+ "message": "‏‮This‬‏ ‏‮data‬‏ ‏‮is‬‏ ‏‮taken‬‏ ‏‮from‬‏ ‏‮a‬‏ ‏‮single‬‏ ‏‮page‬‏ ‏‮session‬‏, ‏‮as‬‏ ‏‮opposed‬‏ ‏‮to‬‏ ‏‮field‬‏ ‏‮data‬‏ ‏‮summarizing‬‏ ‏‮many‬‏ ‏‮sessions‬‏."
3715
+ },
3716
+ "report/renderer/report-utils.js | runtimeSlow4g": {
3717
+ "message": "‏‮Slow‬‏ 4‏‮G‬‏ ‏‮throttling‬‏"
3718
+ },
3719
+ "report/renderer/report-utils.js | runtimeUnknown": {
3720
+ "message": "‏‮Unknown‬‏"
3721
+ },
3722
+ "report/renderer/report-utils.js | show": {
3723
+ "message": "‏‮Show‬‏"
3724
+ },
3725
+ "report/renderer/report-utils.js | showRelevantAudits": {
3726
+ "message": "‏‮Show‬‏ ‏‮audits‬‏ ‏‮relevant‬‏ ‏‮to‬‏:"
3727
+ },
3728
+ "report/renderer/report-utils.js | snippetCollapseButtonLabel": {
3729
+ "message": "‏‮Collapse‬‏ ‏‮snippet‬‏"
3730
+ },
3731
+ "report/renderer/report-utils.js | snippetExpandButtonLabel": {
3732
+ "message": "‏‮Expand‬‏ ‏‮snippet‬‏"
3733
+ },
3734
+ "report/renderer/report-utils.js | thirdPartyResourcesLabel": {
3735
+ "message": "‏‮Show‬‏ 3‏‮rd‬‏-‏‮party‬‏ ‏‮resources‬‏"
3736
+ },
3737
+ "report/renderer/report-utils.js | throttlingProvided": {
3738
+ "message": "‏‮Provided‬‏ ‏‮by‬‏ ‏‮environment‬‏"
3739
+ },
3740
+ "report/renderer/report-utils.js | toplevelWarningsMessage": {
3741
+ "message": "‏‮There‬‏ ‏‮were‬‏ ‏‮issues‬‏ ‏‮affecting‬‏ ‏‮this‬‏ ‏‮run‬‏ ‏‮of‬‏ ‏‮Lighthouse‬‏:"
3742
+ },
3743
+ "report/renderer/report-utils.js | unattributable": {
3744
+ "message": "‏‮Unattributable‬‏"
3745
+ },
3746
+ "report/renderer/report-utils.js | unscoredLabel": {
3747
+ "message": "‏‮Unscored‬‏"
3748
+ },
3749
+ "report/renderer/report-utils.js | unscoredTitle": {
3750
+ "message": "‏‮This‬‏ ‏‮audit‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮contribute‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮overall‬‏ ‏‮category‬‏ ‏‮score‬‏."
3751
+ },
3752
+ "report/renderer/report-utils.js | varianceDisclaimer": {
3753
+ "message": "‏‮Values‬‏ ‏‮are‬‏ ‏‮estimated‬‏ ‏‮and‬‏ ‏‮may‬‏ ‏‮vary‬‏. ‏‮The‬‏ [‏‮performance‬‏ ‏‮score‬‏ ‏‮is‬‏ ‏‮calculated‬‏](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) ‏‮directly‬‏ ‏‮from‬‏ ‏‮these‬‏ ‏‮metrics‬‏."
3754
+ },
3755
+ "report/renderer/report-utils.js | viewTraceLabel": {
3756
+ "message": "‏‮View‬‏ ‏‮Trace‬‏"
3757
+ },
3758
+ "report/renderer/report-utils.js | viewTreemapLabel": {
3759
+ "message": "‏‮View‬‏ ‏‮Treemap‬‏"
3760
+ },
3761
+ "report/renderer/report-utils.js | warningAuditsGroupTitle": {
3762
+ "message": "‏‮Passed‬‏ ‏‮audits‬‏ ‏‮but‬‏ ‏‮with‬‏ ‏‮warnings‬‏"
3763
+ },
3764
+ "report/renderer/report-utils.js | warningHeader": {
3765
+ "message": "‏‮Warnings‬‏: "
3766
+ },
3767
+ "treemap/app/src/util.js | allLabel": {
3768
+ "message": "‏‮All‬‏"
3769
+ },
3770
+ "treemap/app/src/util.js | allScriptsDropdownLabel": {
3771
+ "message": "‏‮All‬‏ ‏‮scripts‬‏"
3772
+ },
3773
+ "treemap/app/src/util.js | coverageColumnName": {
3774
+ "message": "‏‮Coverage‬‏"
3775
+ },
3776
+ "treemap/app/src/util.js | duplicateModulesLabel": {
3777
+ "message": "‏‮Duplicate‬‏ ‏‮modules‬‏"
3778
+ },
3779
+ "treemap/app/src/util.js | duplicatedBytesLabel": {
3780
+ "message": "‏‮Duplicated‬‏ ‏‮bytes‬‏"
3781
+ },
3782
+ "treemap/app/src/util.js | resourceBytesLabel": {
3783
+ "message": "‏‮Resource‬‏ ‏‮bytes‬‏"
3784
+ },
3785
+ "treemap/app/src/util.js | tableColumnName": {
3786
+ "message": "‏‮Name‬‏"
3787
+ },
3788
+ "treemap/app/src/util.js | toggleTableButtonLabel": {
3789
+ "message": "‏‮Toggle‬‏ ‏‮table‬‏"
3790
+ },
3791
+ "treemap/app/src/util.js | transferBytesLabel": {
3792
+ "message": "‏‮Transfer‬‏ ‏‮bytes‬‏"
3793
+ },
3794
+ "treemap/app/src/util.js | unusedBytesLabel": {
3795
+ "message": "‏‮Unused‬‏ ‏‮bytes‬‏"
3796
+ }
3797
+ }