lighthouse 11.7.1 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/CONTRIBUTING.md +2 -2
  2. package/cli/bin.js +0 -7
  3. package/cli/cli-flags.d.ts +1 -5
  4. package/cli/cli-flags.js +4 -8
  5. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +14 -14
  6. package/cli/test/smokehouse/config/exclusions.js +3 -0
  7. package/cli/test/smokehouse/core-tests.js +6 -20
  8. package/cli/test/smokehouse/frontends/smokehouse-bin.js +2 -2
  9. package/core/audits/accessibility/aria-conditional-attr.d.ts +10 -0
  10. package/core/audits/accessibility/aria-conditional-attr.js +43 -0
  11. package/core/audits/accessibility/{duplicate-id-active.d.ts → aria-deprecated-role.d.ts} +3 -3
  12. package/core/audits/accessibility/aria-deprecated-role.js +43 -0
  13. package/core/audits/accessibility/aria-prohibited-attr.d.ts +10 -0
  14. package/core/audits/accessibility/aria-prohibited-attr.js +44 -0
  15. package/core/audits/accessibility/target-size.js +0 -1
  16. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +0 -16
  17. package/core/audits/byte-efficiency/byte-efficiency-audit.js +1 -38
  18. package/core/audits/byte-efficiency/offscreen-images.d.ts +0 -11
  19. package/core/audits/byte-efficiency/offscreen-images.js +0 -15
  20. package/core/audits/byte-efficiency/render-blocking-resources.js +27 -26
  21. package/core/audits/byte-efficiency/unminified-css.js +2 -2
  22. package/core/audits/byte-efficiency/unused-css-rules.js +3 -1
  23. package/core/audits/dobetterweb/uses-http2.d.ts +0 -13
  24. package/core/audits/dobetterweb/uses-http2.js +4 -38
  25. package/core/audits/font-display.js +2 -2
  26. package/core/audits/layout-shifts.js +1 -1
  27. package/core/audits/preload-fonts.d.ts +1 -5
  28. package/core/audits/preload-fonts.js +1 -10
  29. package/core/audits/prioritize-lcp-image.js +2 -2
  30. package/core/audits/redirects-http.d.ts +19 -0
  31. package/core/audits/redirects-http.js +75 -0
  32. package/core/audits/resource-summary.d.ts +2 -0
  33. package/core/audits/resource-summary.js +5 -4
  34. package/core/audits/seo/is-crawlable.d.ts +2 -1
  35. package/core/audits/seo/link-text.js +12 -0
  36. package/core/audits/uses-rel-preload.d.ts +1 -5
  37. package/core/audits/uses-rel-preload.js +5 -15
  38. package/core/audits/work-during-interaction.d.ts +2 -2
  39. package/core/audits/work-during-interaction.js +2 -2
  40. package/core/computed/js-bundles.d.ts +1 -1
  41. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +13 -82
  42. package/core/computed/metrics/lantern-first-contentful-paint.js +16 -178
  43. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +13 -12
  44. package/core/computed/metrics/lantern-first-meaningful-paint.js +11 -49
  45. package/core/computed/metrics/lantern-interactive.d.ts +13 -21
  46. package/core/computed/metrics/lantern-interactive.js +12 -84
  47. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +13 -25
  48. package/core/computed/metrics/lantern-largest-contentful-paint.js +13 -80
  49. package/core/computed/metrics/lantern-max-potential-fid.d.ts +13 -24
  50. package/core/computed/metrics/lantern-max-potential-fid.js +12 -64
  51. package/core/computed/metrics/lantern-metric.d.ts +14 -18
  52. package/core/computed/metrics/lantern-metric.js +34 -30
  53. package/core/computed/metrics/lantern-speed-index.d.ts +13 -32
  54. package/core/computed/metrics/lantern-speed-index.js +13 -116
  55. package/core/computed/metrics/lantern-total-blocking-time.d.ts +13 -25
  56. package/core/computed/metrics/lantern-total-blocking-time.js +10 -94
  57. package/core/computed/metrics/metric.js +1 -3
  58. package/core/computed/module-duplication.d.ts +1 -1
  59. package/core/computed/navigation-insights.d.ts +36 -0
  60. package/core/computed/navigation-insights.js +35 -0
  61. package/core/computed/page-dependency-graph.js +3 -7
  62. package/core/computed/resource-summary.d.ts +10 -12
  63. package/core/computed/resource-summary.js +12 -19
  64. package/core/computed/trace-engine-result.d.ts +16 -3
  65. package/core/computed/trace-engine-result.js +19 -14
  66. package/core/computed/unused-css.d.ts +3 -1
  67. package/core/computed/unused-css.js +6 -5
  68. package/core/config/config-helpers.js +0 -4
  69. package/core/config/constants.js +0 -1
  70. package/core/config/default-config.js +63 -142
  71. package/core/config/experimental-config.js +11 -0
  72. package/core/config/filters.js +0 -1
  73. package/core/gather/driver/navigation.js +4 -1
  74. package/core/gather/driver/prepare.js +1 -1
  75. package/core/gather/driver/target-manager.js +4 -3
  76. package/core/gather/driver/wait-for-condition.js +2 -3
  77. package/core/gather/driver.d.ts +12 -0
  78. package/core/gather/driver.js +27 -0
  79. package/core/gather/gatherers/accessibility.js +4 -6
  80. package/core/gather/gatherers/css-usage.d.ts +0 -21
  81. package/core/gather/gatherers/css-usage.js +9 -119
  82. package/core/gather/gatherers/root-causes.d.ts +2 -2
  83. package/core/gather/gatherers/root-causes.js +6 -5
  84. package/core/gather/gatherers/stylesheets.d.ts +26 -0
  85. package/core/gather/gatherers/stylesheets.js +138 -0
  86. package/core/gather/gatherers/trace-elements.d.ts +2 -12
  87. package/core/gather/gatherers/trace-elements.js +2 -21
  88. package/core/gather/navigation-runner.js +3 -1
  89. package/core/gather/session.d.ts +8 -0
  90. package/core/gather/session.js +14 -1
  91. package/core/lib/emulation.js +2 -2
  92. package/core/lib/i18n/i18n.d.ts +0 -1
  93. package/core/lib/i18n/i18n.js +0 -2
  94. package/core/lib/lantern/cpu-node.d.ts +7 -1
  95. package/core/lib/lantern/cpu-node.js +12 -2
  96. package/core/lib/lantern/lantern-error.d.ts +8 -0
  97. package/core/lib/lantern/lantern-error.js +9 -0
  98. package/core/lib/lantern/metric.js +2 -6
  99. package/core/lib/lantern/metrics/first-contentful-paint.d.ts +79 -0
  100. package/core/lib/lantern/metrics/first-contentful-paint.js +200 -0
  101. package/core/lib/lantern/metrics/first-meaningful-paint.d.ts +6 -0
  102. package/core/lib/lantern/metrics/first-meaningful-paint.js +64 -0
  103. package/core/lib/lantern/metrics/interactive.d.ts +26 -0
  104. package/core/lib/lantern/metrics/interactive.js +112 -0
  105. package/core/lib/lantern/metrics/largest-contentful-paint.d.ts +19 -0
  106. package/core/lib/lantern/metrics/largest-contentful-paint.js +108 -0
  107. package/core/lib/lantern/metrics/max-potential-fid.d.ts +30 -0
  108. package/core/lib/lantern/metrics/max-potential-fid.js +92 -0
  109. package/core/lib/lantern/metrics/speed-index.d.ts +38 -0
  110. package/core/lib/lantern/metrics/speed-index.js +144 -0
  111. package/core/lib/lantern/metrics/total-blocking-time.d.ts +31 -0
  112. package/core/lib/lantern/metrics/total-blocking-time.js +128 -0
  113. package/core/lib/lantern/network-node.js +28 -4
  114. package/core/lib/lantern/page-dependency-graph.d.ts +4 -4
  115. package/core/lib/lantern/page-dependency-graph.js +19 -7
  116. package/core/lib/lantern/simulator/connection-pool.d.ts +2 -12
  117. package/core/lib/lantern/simulator/connection-pool.js +3 -22
  118. package/core/lib/lantern/simulator/network-analyzer.js +1 -12
  119. package/core/lib/lantern/simulator/simulator.d.ts +2 -4
  120. package/core/lib/lantern/simulator/simulator.js +7 -14
  121. package/core/lib/lantern/types/lantern.d.ts +5 -3
  122. package/core/lib/lantern-trace-saver.js +0 -1
  123. package/core/lib/lh-error.d.ts +9 -0
  124. package/core/lib/lh-error.js +13 -3
  125. package/core/lib/lighthouse-compatibility.js +53 -10
  126. package/core/lib/navigation-error.js +3 -0
  127. package/core/lib/network-request.d.ts +1 -0
  128. package/core/lib/network-request.js +28 -0
  129. package/core/runner.js +18 -25
  130. package/dist/report/bundle.esm.js +11 -112
  131. package/dist/report/flow.js +16 -117
  132. package/dist/report/standalone.js +12 -113
  133. package/flow-report/src/help-dialog.tsx +0 -1
  134. package/flow-report/src/i18n/i18n.d.ts +0 -4
  135. package/flow-report/src/i18n/ui-strings.d.ts +0 -1
  136. package/flow-report/src/i18n/ui-strings.js +0 -2
  137. package/flow-report/src/summary/category.tsx +10 -12
  138. package/package.json +5 -5
  139. package/readme.md +4 -4
  140. package/report/assets/styles.css +1 -60
  141. package/report/assets/templates.html +0 -95
  142. package/report/renderer/category-renderer.js +1 -1
  143. package/report/renderer/components.d.ts +2 -2
  144. package/report/renderer/components.js +2 -103
  145. package/report/renderer/dom.d.ts +1 -1
  146. package/report/renderer/dom.js +1 -1
  147. package/report/renderer/performance-category-renderer.d.ts +0 -7
  148. package/report/renderer/performance-category-renderer.js +1 -32
  149. package/report/renderer/report-renderer.js +3 -13
  150. package/report/renderer/report-ui-features.js +1 -1
  151. package/report/renderer/report-utils.d.ts +0 -1
  152. package/report/renderer/report-utils.js +13 -13
  153. package/shared/localization/locales/ar-XB.json +62 -329
  154. package/shared/localization/locales/ar.json +62 -329
  155. package/shared/localization/locales/bg.json +62 -329
  156. package/shared/localization/locales/ca.json +62 -329
  157. package/shared/localization/locales/cs.json +62 -329
  158. package/shared/localization/locales/da.json +62 -329
  159. package/shared/localization/locales/de.json +62 -329
  160. package/shared/localization/locales/el.json +62 -329
  161. package/shared/localization/locales/en-GB.json +62 -329
  162. package/shared/localization/locales/en-US.json +41 -272
  163. package/shared/localization/locales/en-XA.json +62 -329
  164. package/shared/localization/locales/en-XL.json +41 -272
  165. package/shared/localization/locales/es-419.json +62 -329
  166. package/shared/localization/locales/es.json +62 -329
  167. package/shared/localization/locales/fi.json +62 -329
  168. package/shared/localization/locales/fil.json +61 -328
  169. package/shared/localization/locales/fr.json +62 -329
  170. package/shared/localization/locales/he.json +62 -329
  171. package/shared/localization/locales/hi.json +62 -329
  172. package/shared/localization/locales/hr.json +63 -330
  173. package/shared/localization/locales/hu.json +62 -329
  174. package/shared/localization/locales/id.json +62 -329
  175. package/shared/localization/locales/it.json +62 -329
  176. package/shared/localization/locales/ja.json +62 -329
  177. package/shared/localization/locales/ko.json +62 -329
  178. package/shared/localization/locales/lt.json +62 -329
  179. package/shared/localization/locales/lv.json +62 -329
  180. package/shared/localization/locales/nl.json +62 -329
  181. package/shared/localization/locales/no.json +62 -329
  182. package/shared/localization/locales/pl.json +61 -328
  183. package/shared/localization/locales/pt-PT.json +62 -329
  184. package/shared/localization/locales/pt.json +64 -331
  185. package/shared/localization/locales/ro.json +62 -329
  186. package/shared/localization/locales/ru.json +62 -329
  187. package/shared/localization/locales/sk.json +62 -329
  188. package/shared/localization/locales/sl.json +62 -329
  189. package/shared/localization/locales/sr-Latn.json +62 -329
  190. package/shared/localization/locales/sr.json +62 -329
  191. package/shared/localization/locales/sv.json +62 -329
  192. package/shared/localization/locales/ta.json +61 -328
  193. package/shared/localization/locales/te.json +62 -329
  194. package/shared/localization/locales/th.json +62 -329
  195. package/shared/localization/locales/tr.json +62 -329
  196. package/shared/localization/locales/uk.json +62 -329
  197. package/shared/localization/locales/vi.json +61 -328
  198. package/shared/localization/locales/zh-HK.json +62 -329
  199. package/shared/localization/locales/zh-TW.json +61 -328
  200. package/shared/localization/locales/zh.json +62 -329
  201. package/tsconfig.json +1 -3
  202. package/types/artifacts.d.ts +21 -110
  203. package/types/audit.d.ts +0 -10
  204. package/types/config.d.ts +0 -1
  205. package/types/externs.d.ts +0 -2
  206. package/types/gatherer.d.ts +3 -0
  207. package/types/internal/smokehouse.d.ts +1 -1
  208. package/types/lh.d.ts +0 -2
  209. package/types/lhr/audit-details.d.ts +9 -4
  210. package/types/lhr/lhr.d.ts +0 -4
  211. package/types/lhr/settings.d.ts +0 -4
  212. package/core/audits/accessibility/duplicate-id-active.js +0 -42
  213. package/core/audits/content-width.d.ts +0 -17
  214. package/core/audits/content-width.js +0 -76
  215. package/core/audits/installable-manifest.d.ts +0 -111
  216. package/core/audits/installable-manifest.js +0 -248
  217. package/core/audits/layout-shift-elements.d.ts +0 -16
  218. package/core/audits/layout-shift-elements.js +0 -101
  219. package/core/audits/manual/pwa-cross-browser.d.ts +0 -12
  220. package/core/audits/manual/pwa-cross-browser.js +0 -40
  221. package/core/audits/manual/pwa-each-page-has-url.d.ts +0 -12
  222. package/core/audits/manual/pwa-each-page-has-url.js +0 -38
  223. package/core/audits/manual/pwa-page-transitions.d.ts +0 -12
  224. package/core/audits/manual/pwa-page-transitions.js +0 -38
  225. package/core/audits/maskable-icon.d.ts +0 -25
  226. package/core/audits/maskable-icon.js +0 -70
  227. package/core/audits/multi-check-audit.d.ts +0 -28
  228. package/core/audits/multi-check-audit.js +0 -82
  229. package/core/audits/no-unload-listeners.d.ts +0 -16
  230. package/core/audits/no-unload-listeners.js +0 -86
  231. package/core/audits/performance-budget.d.ts +0 -39
  232. package/core/audits/performance-budget.js +0 -154
  233. package/core/audits/script-elements-test-audit.d.ts +0 -14
  234. package/core/audits/script-elements-test-audit.js +0 -29
  235. package/core/audits/seo/plugins.d.ts +0 -15
  236. package/core/audits/seo/plugins.js +0 -150
  237. package/core/audits/seo/tap-targets.d.ts +0 -50
  238. package/core/audits/seo/tap-targets.js +0 -352
  239. package/core/audits/splash-screen.d.ts +0 -37
  240. package/core/audits/splash-screen.js +0 -98
  241. package/core/audits/themed-omnibox.d.ts +0 -42
  242. package/core/audits/themed-omnibox.js +0 -102
  243. package/core/audits/timing-budget.d.ts +0 -43
  244. package/core/audits/timing-budget.js +0 -175
  245. package/core/computed/manifest-values.d.ts +0 -24
  246. package/core/computed/manifest-values.js +0 -136
  247. package/core/config/budget.d.ts +0 -74
  248. package/core/config/budget.js +0 -340
  249. package/core/config/metrics-to-audits.d.ts +0 -19
  250. package/core/config/metrics-to-audits.js +0 -62
  251. package/core/gather/driver/service-workers.d.ts +0 -16
  252. package/core/gather/driver/service-workers.js +0 -52
  253. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +0 -47
  254. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -233
  255. package/core/gather/gatherers/global-listeners.d.ts +0 -27
  256. package/core/gather/gatherers/global-listeners.js +0 -108
  257. package/core/gather/gatherers/installability-errors.d.ts +0 -17
  258. package/core/gather/gatherers/installability-errors.js +0 -56
  259. package/core/gather/gatherers/script-elements.d.ts +0 -21
  260. package/core/gather/gatherers/script-elements.js +0 -100
  261. package/core/gather/gatherers/seo/embedded-content.d.ts +0 -10
  262. package/core/gather/gatherers/seo/embedded-content.js +0 -63
  263. package/core/gather/gatherers/seo/tap-targets.d.ts +0 -21
  264. package/core/gather/gatherers/seo/tap-targets.js +0 -389
  265. package/core/gather/gatherers/service-worker.d.ts +0 -10
  266. package/core/gather/gatherers/service-worker.js +0 -32
  267. package/core/gather/gatherers/web-app-manifest.d.ts +0 -32
  268. package/core/gather/gatherers/web-app-manifest.js +0 -106
  269. package/report/renderer/pwa-category-renderer.d.ts +0 -55
  270. package/report/renderer/pwa-category-renderer.js +0 -184
  271. package/third-party/chromium-synchronization/installability-errors-test.js +0 -79
  272. package/types/lhr/budget.d.ts +0 -60
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "core/audits/accessibility/accesskeys.js | description": {
3
- "message": "คีย์การเข้าถึงให้ผู้ใช้โฟกัสที่ส่วนหนึ่งของหน้าได้อย่างรวดเร็ว คีย์การเข้าถึงแต่ละรายการต้องไม่ซ้ำกันเพื่อให้ไปยังส่วนต่างๆ ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์การเข้าถึง](https://dequeuniversity.com/rules/axe/4.8/accesskeys)"
3
+ "message": "คีย์การเข้าถึงให้ผู้ใช้โฟกัสที่ส่วนหนึ่งของหน้าได้อย่างรวดเร็ว คีย์การเข้าถึงแต่ละรายการต้องไม่ซ้ำกันเพื่อให้ไปยังส่วนต่างๆ ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์การเข้าถึง](https://dequeuniversity.com/rules/axe/4.9/accesskeys)"
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "ค่า `[accesskey]` ซ้ำกัน"
@@ -9,7 +9,7 @@
9
9
  "message": "ค่า `[accesskey]` ไม่ซ้ำกัน"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "`role` ของ ARIA แต่ละรายการรองรับชุดย่อยของแอตทริบิวต์ `aria-*` ที่เจาะจง หากรายการเหล่านี้ไม่ตรงกันจะทำให้แอตทริบิวต์ `aria-*` ไม่ถูกต้อง [ดูวิธีจับคู่แอตทริบิวต์ ARIA กับบทบาท](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-attr)"
12
+ "message": "`role` ของ ARIA แต่ละรายการรองรับชุดย่อยของแอตทริบิวต์ `aria-*` ที่เจาะจง หากรายการเหล่านี้ไม่ตรงกันจะทำให้แอตทริบิวต์ `aria-*` ไม่ถูกต้อง [ดูวิธีจับคู่แอตทริบิวต์ ARIA กับบทบาท](https://dequeuniversity.com/rules/axe/4.9/aria-allowed-attr)"
13
13
  },
14
14
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
15
15
  "message": "แอตทริบิวต์ `[aria-*]` ไม่ตรงกับบทบาทของตน"
@@ -18,7 +18,7 @@
18
18
  "message": "แอตทริบิวต์ `[aria-*]` ตรงกับบทบาทของตน"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "`role` ARIA ช่วยให้เทคโนโลยีความช่วยเหลือพิเศษทราบถึงบทบาทของแต่ละองค์ประกอบในหน้าเว็บ หากค่า`role`สะกดผิด ไม่ใช่ค่า`role` ARIA ที่มีอยู่ หรือเป็นบทบาทนามธรรม ระบบก็จะไม่สื่อสารจุดประสงค์ขององค์ประกอบดังกล่าวไปยังผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-role)"
21
+ "message": "`role` ARIA ช่วยให้เทคโนโลยีความช่วยเหลือพิเศษทราบถึงบทบาทของแต่ละองค์ประกอบในหน้าเว็บ หากค่า`role`สะกดผิด ไม่ใช่ค่า`role` ARIA ที่มีอยู่ หรือเป็นบทบาทนามธรรม ระบบก็จะไม่สื่อสารจุดประสงค์ขององค์ประกอบดังกล่าวไปยังผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA](https://dequeuniversity.com/rules/axe/4.9/aria-allowed-role)"
22
22
  },
23
23
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
24
24
  "message": "ค่าที่กำหนดให้กับ `role=\"\"` ไม่ใช่บทบาท ARIA ที่ถูกต้อง"
@@ -27,7 +27,7 @@
27
27
  "message": "ค่าที่กําหนดให้กับ `role=\"\"` เป็นบทบาท ARIA ที่ถูกต้อง"
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "เมื่อองค์ประกอบไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีทําให้องค์ประกอบคําสั่งเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.8/aria-command-name)"
30
+ "message": "เมื่อองค์ประกอบไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีทําให้องค์ประกอบคําสั่งเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.9/aria-command-name)"
31
31
  },
32
32
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
33
33
  "message": "องค์ประกอบ `button`, `link` และ `menuitem` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -36,7 +36,7 @@
36
36
  "message": "องค์ประกอบ `button`, `link` และ `menuitem` มีชื่อสำหรับการช่วยเหลือพิเศษ"
37
37
  },
38
38
  "core/audits/accessibility/aria-dialog-name.js | description": {
39
- "message": "องค์ประกอบกล่องโต้ตอบ ARIA ที่ไม่มีชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอแยกแยะจุดประสงค์ขององค์ประกอบเหล่านี้ไม่ได้ [ดูวิธีทำให้องค์ประกอบกล่องโต้ตอบ ARIA เข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.8/aria-dialog-name)"
39
+ "message": "องค์ประกอบกล่องโต้ตอบ ARIA ที่ไม่มีชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอแยกแยะจุดประสงค์ขององค์ประกอบเหล่านี้ไม่ได้ [ดูวิธีทำให้องค์ประกอบกล่องโต้ตอบ ARIA เข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.9/aria-dialog-name)"
40
40
  },
41
41
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
42
42
  "message": "องค์ประกอบที่มี `role=\"dialog\"` หรือ `role=\"alertdialog\"` ไม่มีชื่อที่เข้าถึงได้"
@@ -45,7 +45,7 @@
45
45
  "message": "องค์ประกอบที่มี `role=\"dialog\"` หรือ `role=\"alertdialog\"` มีชื่อที่เข้าถึงได้"
46
46
  },
47
47
  "core/audits/accessibility/aria-hidden-body.js | description": {
48
- "message": "เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ทำงานไม่สอดคล้องกันเมื่อตั้งค่า `aria-hidden=\"true\"` ในเอกสาร `<body>` [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อส่วนเนื้อหาของเอกสาร](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-body)"
48
+ "message": "เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ทำงานไม่สอดคล้องกันเมื่อตั้งค่า `aria-hidden=\"true\"` ในเอกสาร `<body>` [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อส่วนเนื้อหาของเอกสาร](https://dequeuniversity.com/rules/axe/4.9/aria-hidden-body)"
49
49
  },
50
50
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
51
51
  "message": "มี `[aria-hidden=\"true\"]` ปรากฏในเอกสาร `<body>`"
@@ -54,7 +54,7 @@
54
54
  "message": "ไม่มี `[aria-hidden=\"true\"]` ปรากฏในเอกสาร `<body>`"
55
55
  },
56
56
  "core/audits/accessibility/aria-hidden-focus.js | description": {
57
- "message": "เอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมาในเอลิเมนต์ `[aria-hidden=\"true\"]` ป้องกันไม่ให้ผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ใช้เอลิเมนต์การโต้ตอบเหล่านั้นได้ [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อองค์ประกอบที่โฟกัสได้](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-focus)"
57
+ "message": "เอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมาในเอลิเมนต์ `[aria-hidden=\"true\"]` ป้องกันไม่ให้ผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ใช้เอลิเมนต์การโต้ตอบเหล่านั้นได้ [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อองค์ประกอบที่โฟกัสได้](https://dequeuniversity.com/rules/axe/4.9/aria-hidden-focus)"
58
58
  },
59
59
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
60
60
  "message": "เอลิเมนต์ `[aria-hidden=\"true\"]` มีเอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมา"
@@ -63,7 +63,7 @@
63
63
  "message": "เอลิเมนต์ `[aria-hidden=\"true\"]` ไม่มีเอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมา"
64
64
  },
65
65
  "core/audits/accessibility/aria-input-field-name.js | description": {
66
- "message": "เมื่อช่องป้อนข้อมูลไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องป้อนข้อมูลดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับช่องป้อนข้อมูล](https://dequeuniversity.com/rules/axe/4.8/aria-input-field-name)"
66
+ "message": "เมื่อช่องป้อนข้อมูลไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องป้อนข้อมูลดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับช่องป้อนข้อมูล](https://dequeuniversity.com/rules/axe/4.9/aria-input-field-name)"
67
67
  },
68
68
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
69
69
  "message": "ช่องป้อนข้อมูล ARIA ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -72,7 +72,7 @@
72
72
  "message": "ช่องป้อนข้อมูล ARIA มีชื่อสำหรับการช่วยเหลือพิเศษ"
73
73
  },
74
74
  "core/audits/accessibility/aria-meter-name.js | description": {
75
- "message": "เมื่อองค์ประกอบเครื่องวัดไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`meter`](https://dequeuniversity.com/rules/axe/4.8/aria-meter-name)"
75
+ "message": "เมื่อองค์ประกอบเครื่องวัดไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`meter`](https://dequeuniversity.com/rules/axe/4.9/aria-meter-name)"
76
76
  },
77
77
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
78
78
  "message": "องค์ประกอบ ARIA `meter` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -81,7 +81,7 @@
81
81
  "message": "องค์ประกอบ ARIA `meter` มีชื่อสำหรับการช่วยเหลือพิเศษ"
82
82
  },
83
83
  "core/audits/accessibility/aria-progressbar-name.js | description": {
84
- "message": "เมื่อองค์ประกอบ `progressbar` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีติดป้ายกํากับองค์ประกอบ `progressbar`](https://dequeuniversity.com/rules/axe/4.8/aria-progressbar-name)"
84
+ "message": "เมื่อองค์ประกอบ `progressbar` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีติดป้ายกํากับองค์ประกอบ `progressbar`](https://dequeuniversity.com/rules/axe/4.9/aria-progressbar-name)"
85
85
  },
86
86
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
87
87
  "message": "องค์ประกอบ ARIA `progressbar` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -90,7 +90,7 @@
90
90
  "message": "องค์ประกอบ ARIA `progressbar` มีชื่อสำหรับการช่วยเหลือพิเศษ"
91
91
  },
92
92
  "core/audits/accessibility/aria-required-attr.js | description": {
93
- "message": "บทบาท ARIA บางบทบาทกำหนดให้มีแอตทริบิวต์ที่อธิบายสถานะขององค์ประกอบให้โปรแกรมอ่านหน้าจอทราบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและแอตทริบิวต์ที่จำเป็น](https://dequeuniversity.com/rules/axe/4.8/aria-required-attr)"
93
+ "message": "บทบาท ARIA บางบทบาทกำหนดให้มีแอตทริบิวต์ที่อธิบายสถานะขององค์ประกอบให้โปรแกรมอ่านหน้าจอทราบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและแอตทริบิวต์ที่จำเป็น](https://dequeuniversity.com/rules/axe/4.9/aria-required-attr)"
94
94
  },
95
95
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
96
96
  "message": "`[role]` ไม่มีแอตทริบิวต์ `[aria-*]` ทั้งหมดที่จำเป็น"
@@ -99,7 +99,7 @@
99
99
  "message": "`[role]` มีแอตทริบิวต์ `[aria-*]` ที่จำเป็นทั้งหมด"
100
100
  },
101
101
  "core/audits/accessibility/aria-required-children.js | description": {
102
- "message": "บทบาท ARIA ระดับบนสุดบางบทบาทต้องมีบทบาทย่อยที่เจาะจงเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและองค์ประกอบย่อยที่จำเป็น](https://dequeuniversity.com/rules/axe/4.8/aria-required-children)"
102
+ "message": "บทบาท ARIA ระดับบนสุดบางบทบาทต้องมีบทบาทย่อยที่เจาะจงเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและองค์ประกอบย่อยที่จำเป็น](https://dequeuniversity.com/rules/axe/4.9/aria-required-children)"
103
103
  },
104
104
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
105
105
  "message": "องค์ประกอบที่มี ARIA `[role]` ที่กำหนดให้องค์ประกอบย่อยต้องมี `[role]` ที่เฉพาะเจาะจงขาดองค์ประกอบย่อยที่จำเป็นดังกล่าวบางส่วนหรือทั้งหมด"
@@ -108,7 +108,7 @@
108
108
  "message": "องค์ประกอบที่มี ARIA `[role]` ที่กำหนดให้องค์ประกอบย่อยต้องมี `[role]` ที่เฉพาะเจาะจงนั้นมีองค์ประกอบย่อยที่จำเป็นทั้งหมด"
109
109
  },
110
110
  "core/audits/accessibility/aria-required-parent.js | description": {
111
- "message": "บทบาท ARIA ย่อยบางบทบาทต้องอยู่ในบทบาทระดับบนสุดที่เจาะจงเพื่อให้ใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA และองค์ประกอบระดับบนสุดที่จำเป็น](https://dequeuniversity.com/rules/axe/4.8/aria-required-parent)"
111
+ "message": "บทบาท ARIA ย่อยบางบทบาทต้องอยู่ในบทบาทระดับบนสุดที่เจาะจงเพื่อให้ใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA และองค์ประกอบระดับบนสุดที่จำเป็น](https://dequeuniversity.com/rules/axe/4.9/aria-required-parent)"
112
112
  },
113
113
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
114
114
  "message": "`[role]` ไม่ได้อยู่ในองค์ประกอบระดับบนสุดที่กำหนด"
@@ -117,7 +117,7 @@
117
117
  "message": "`[role]` อยู่ในองค์ประกอบระดับบนสุดที่กำหนด"
118
118
  },
119
119
  "core/audits/accessibility/aria-roles.js | description": {
120
- "message": "บทบาท ARIA ต้องมีค่าที่ถูกต้องเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.8/aria-roles)"
120
+ "message": "บทบาท ARIA ต้องมีค่าที่ถูกต้องเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.9/aria-roles)"
121
121
  },
122
122
  "core/audits/accessibility/aria-roles.js | failureTitle": {
123
123
  "message": "ค่า `[role]` ไม่ถูกต้อง"
@@ -126,7 +126,7 @@
126
126
  "message": "ค่า `[role]` ถูกต้อง"
127
127
  },
128
128
  "core/audits/accessibility/aria-text.js | description": {
129
- "message": "การเพิ่ม `role=text` รอบโหนดข้อความที่แบ่งตามมาร์กอัปจะทำให้ VoiceOver ถือว่าโหนดเป็น 1 วลี แต่ระบบจะไม่ประกาศองค์ประกอบสืบทอดที่โฟกัสได้ขององค์ประกอบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `role=text`](https://dequeuniversity.com/rules/axe/4.8/aria-text)"
129
+ "message": "การเพิ่ม `role=text` รอบโหนดข้อความที่แบ่งตามมาร์กอัปจะทำให้ VoiceOver ถือว่าโหนดเป็น 1 วลี แต่ระบบจะไม่ประกาศองค์ประกอบสืบทอดที่โฟกัสได้ขององค์ประกอบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `role=text`](https://dequeuniversity.com/rules/axe/4.9/aria-text)"
130
130
  },
131
131
  "core/audits/accessibility/aria-text.js | failureTitle": {
132
132
  "message": "องค์ประกอบที่มีแอตทริบิวต์ `role=text` มีองค์ประกอบสืบทอดที่โฟกัสได้"
@@ -135,7 +135,7 @@
135
135
  "message": "องค์ประกอบที่มีแอตทริบิวต์ `role=text` ไม่มีองค์ประกอบสืบทอดที่โฟกัสได้"
136
136
  },
137
137
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
138
- "message": "เมื่อช่องสลับไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องสลับดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องสลับ](https://dequeuniversity.com/rules/axe/4.8/aria-toggle-field-name)"
138
+ "message": "เมื่อช่องสลับไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องสลับดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องสลับ](https://dequeuniversity.com/rules/axe/4.9/aria-toggle-field-name)"
139
139
  },
140
140
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
141
141
  "message": "ช่องสลับ ARIA ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -144,7 +144,7 @@
144
144
  "message": "ช่องสลับ ARIA มีชื่อสำหรับการช่วยเหลือพิเศษ"
145
145
  },
146
146
  "core/audits/accessibility/aria-tooltip-name.js | description": {
147
- "message": "เมื่อองค์ประกอบเคล็ดลับเครื่องมือไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`tooltip`](https://dequeuniversity.com/rules/axe/4.8/aria-tooltip-name)"
147
+ "message": "เมื่อองค์ประกอบเคล็ดลับเครื่องมือไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`tooltip`](https://dequeuniversity.com/rules/axe/4.9/aria-tooltip-name)"
148
148
  },
149
149
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
150
150
  "message": "องค์ประกอบ ARIA `tooltip` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -153,7 +153,7 @@
153
153
  "message": "องค์ประกอบ ARIA `tooltip` มีชื่อสำหรับการช่วยเหลือพิเศษ"
154
154
  },
155
155
  "core/audits/accessibility/aria-treeitem-name.js | description": {
156
- "message": "เมื่อองค์ประกอบ `treeitem` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดป้ายกำกับองค์ประกอบ `treeitem`](https://dequeuniversity.com/rules/axe/4.8/aria-treeitem-name)"
156
+ "message": "เมื่อองค์ประกอบ `treeitem` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดป้ายกำกับองค์ประกอบ `treeitem`](https://dequeuniversity.com/rules/axe/4.9/aria-treeitem-name)"
157
157
  },
158
158
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
159
159
  "message": "องค์ประกอบ ARIA `treeitem` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -162,7 +162,7 @@
162
162
  "message": "องค์ประกอบ ARIA `treeitem` มีชื่อสำหรับการช่วยเหลือพิเศษ"
163
163
  },
164
164
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
165
- "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีค่าไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าที่ถูกต้องสําหรับแอตทริบิวต์ ARIA](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr-value)"
165
+ "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีค่าไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าที่ถูกต้องสําหรับแอตทริบิวต์ ARIA](https://dequeuniversity.com/rules/axe/4.9/aria-valid-attr-value)"
166
166
  },
167
167
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
168
168
  "message": "แอตทริบิวต์ `[aria-*]` ไม่มีค่าที่ถูกต้อง"
@@ -171,7 +171,7 @@
171
171
  "message": "แอตทริบิวต์ `[aria-*]` มีค่าที่ถูกต้อง"
172
172
  },
173
173
  "core/audits/accessibility/aria-valid-attr.js | description": {
174
- "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีชื่อไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr)"
174
+ "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีชื่อไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.9/aria-valid-attr)"
175
175
  },
176
176
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
177
177
  "message": "แอตทริบิวต์ `[aria-*]` ไม่ถูกต้องหรือสะกดผิด"
@@ -183,7 +183,7 @@
183
183
  "message": "องค์ประกอบที่ไม่ผ่านการตรวจสอบ"
184
184
  },
185
185
  "core/audits/accessibility/button-name.js | description": {
186
- "message": "เมื่อปุ่มไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นว่า \"ปุ่ม\" ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ปุ่มดังกล่าวไม่ได้ [ดูวิธีทําให้ปุ่มเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.8/button-name)"
186
+ "message": "เมื่อปุ่มไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นว่า \"ปุ่ม\" ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ปุ่มดังกล่าวไม่ได้ [ดูวิธีทําให้ปุ่มเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.9/button-name)"
187
187
  },
188
188
  "core/audits/accessibility/button-name.js | failureTitle": {
189
189
  "message": "ปุ่มต่างๆ ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
@@ -192,7 +192,7 @@
192
192
  "message": "ปุ่มต่างๆ มีชื่อสำหรับการช่วยเหลือพิเศษ"
193
193
  },
194
194
  "core/audits/accessibility/bypass.js | description": {
195
- "message": "การเพิ่มวิธีข้ามผ่านเนื้อหาที่ซ้ำกันช่วยให้ผู้ใช้แป้นพิมพ์ไปยังส่วนต่างๆ ของหน้าได้อย่างมีประสิทธิภาพมากขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับการบล็อกการข้าม](https://dequeuniversity.com/rules/axe/4.8/bypass)"
195
+ "message": "การเพิ่มวิธีข้ามผ่านเนื้อหาที่ซ้ำกันช่วยให้ผู้ใช้แป้นพิมพ์ไปยังส่วนต่างๆ ของหน้าได้อย่างมีประสิทธิภาพมากขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับการบล็อกการข้าม](https://dequeuniversity.com/rules/axe/4.9/bypass)"
196
196
  },
197
197
  "core/audits/accessibility/bypass.js | failureTitle": {
198
198
  "message": "หน้าเว็บไม่มีส่วนหัว ลิงก์การข้าม หรือภูมิภาคของจุดสังเกต"
@@ -201,7 +201,7 @@
201
201
  "message": "หน้าเว็บมีส่วนหัว ลิงก์การข้าม หรือภูมิภาคของจุดสังเกต"
202
202
  },
203
203
  "core/audits/accessibility/color-contrast.js | description": {
204
- "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย [ดูวิธีทำให้สีมีคอนทราสต์เพียงพอ](https://dequeuniversity.com/rules/axe/4.8/color-contrast)"
204
+ "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย [ดูวิธีทำให้สีมีคอนทราสต์เพียงพอ](https://dequeuniversity.com/rules/axe/4.9/color-contrast)"
205
205
  },
206
206
  "core/audits/accessibility/color-contrast.js | failureTitle": {
207
207
  "message": "สีพื้นหลังและสีพื้นหน้ามีอัตราส่วนคอนทราสต์ไม่เพียงพอ"
@@ -210,7 +210,7 @@
210
210
  "message": "สีพื้นหลังและสีพื้นหน้ามีอัตราส่วนคอนทราสต์ที่เพียงพอ"
211
211
  },
212
212
  "core/audits/accessibility/definition-list.js | description": {
213
- "message": "เมื่อมีการทำเครื่องหมายรายการคำจำกัดความอย่างไม่ถูกต้อง โปรแกรมอ่านหน้าจออาจสร้างเอาต์พุตที่ทำให้สับสนหรือไม่แม่นยำ [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.8/definition-list)"
213
+ "message": "เมื่อมีการทำเครื่องหมายรายการคำจำกัดความอย่างไม่ถูกต้อง โปรแกรมอ่านหน้าจออาจสร้างเอาต์พุตที่ทำให้สับสนหรือไม่แม่นยำ [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.9/definition-list)"
214
214
  },
215
215
  "core/audits/accessibility/definition-list.js | failureTitle": {
216
216
  "message": "`<dl>` ไม่ได้มีเพียงกลุ่ม `<dt>` และ `<dd>` หรือองค์ประกอบ `<script>` `<template>` หรือ `<div>` ที่เรียงลำดับอย่างถูกต้อง"
@@ -219,7 +219,7 @@
219
219
  "message": "`<dl>` มีเพียงกลุ่ม `<dt>` และ `<dd>` หรือองค์ประกอบ `<script>` `<template>` หรือ `<div>` ที่เรียงลำดับอย่างถูกต้อง"
220
220
  },
221
221
  "core/audits/accessibility/dlitem.js | description": {
222
- "message": "รายการย่อยของคำจำกัดความ (`<dt>` และ `<dd>`) ต้องรวมอยู่ในองค์ประกอบ `<dl>` ระดับบนสุดเพื่อดูแลให้โปรแกรมอ่านหน้าจออ่านได้อย่างถูกต้อง [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.8/dlitem)"
222
+ "message": "รายการย่อยของคำจำกัดความ (`<dt>` และ `<dd>`) ต้องรวมอยู่ในองค์ประกอบ `<dl>` ระดับบนสุดเพื่อดูแลให้โปรแกรมอ่านหน้าจออ่านได้อย่างถูกต้อง [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.9/dlitem)"
223
223
  },
224
224
  "core/audits/accessibility/dlitem.js | failureTitle": {
225
225
  "message": "รายการย่อยของคำจำกัดความไม่ได้รวมอยู่ในองค์ประกอบ `<dl>`"
@@ -228,7 +228,7 @@
228
228
  "message": "รายการย่อยของคำจำกัดความรวมอยู่ในองค์ประกอบ `<dl>`"
229
229
  },
230
230
  "core/audits/accessibility/document-title.js | description": {
231
- "message": "ชื่อช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอทราบถึงภาพรวมของหน้า และผู้ใช้เครื่องมือค้นหาจะดูความเกี่ยวข้องของหน้ากับการค้นหาของตนจากชื่อเป็นหลัก [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเอกสาร](https://dequeuniversity.com/rules/axe/4.8/document-title)"
231
+ "message": "ชื่อช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอทราบถึงภาพรวมของหน้า และผู้ใช้เครื่องมือค้นหาจะดูความเกี่ยวข้องของหน้ากับการค้นหาของตนจากชื่อเป็นหลัก [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเอกสาร](https://dequeuniversity.com/rules/axe/4.9/document-title)"
232
232
  },
233
233
  "core/audits/accessibility/document-title.js | failureTitle": {
234
234
  "message": "เอกสารไม่มีองค์ประกอบ `<title>`"
@@ -236,17 +236,8 @@
236
236
  "core/audits/accessibility/document-title.js | title": {
237
237
  "message": "เอกสารมีองค์ประกอบ `<title>`"
238
238
  },
239
- "core/audits/accessibility/duplicate-id-active.js | description": {
240
- "message": "เอลิเมนต์ที่โฟกัสได้ทั้งหมดต้องมี `id` ที่ไม่ซ้ำกันเพื่อให้เทคโนโลยีความช่วยเหลือพิเศษมองเห็นได้ [ดูวิธีแก้ไข `id` ที่ซ้ำกัน](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-active)"
241
- },
242
- "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
243
- "message": "แอตทริบิวต์ `[id]` ของเอลิเมนต์ที่โฟกัสได้และทำงานอยู่มีรหัสที่ซ้ำกัน"
244
- },
245
- "core/audits/accessibility/duplicate-id-active.js | title": {
246
- "message": "แอตทริบิวต์ `[id]` ของเอลิเมนต์ที่โฟกัสได้และทำงานอยู่ไม่มีรหัสที่ซ้ำกัน"
247
- },
248
239
  "core/audits/accessibility/duplicate-id-aria.js | description": {
249
- "message": "ค่าของรหัส ARIA ต้องไม่ซ้ำกันเพื่อป้องกันไม่ให้เทคโนโลยีความช่วยเหลือพิเศษมองข้ามอินสแตนซ์อื่นๆ [ดูวิธีแก้ไขรหัส ARIA ที่ซ้ำกัน](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-aria)"
240
+ "message": "ค่าของรหัส ARIA ต้องไม่ซ้ำกันเพื่อป้องกันไม่ให้เทคโนโลยีความช่วยเหลือพิเศษมองข้ามอินสแตนซ์อื่นๆ [ดูวิธีแก้ไขรหัส ARIA ที่ซ้ำกัน](https://dequeuniversity.com/rules/axe/4.9/duplicate-id-aria)"
250
241
  },
251
242
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
252
243
  "message": "มีรหัส ARIA ซ้ำกัน"
@@ -255,7 +246,7 @@
255
246
  "message": "ไม่มีรหัส ARIA ที่ซ้ำกัน"
256
247
  },
257
248
  "core/audits/accessibility/empty-heading.js | description": {
258
- "message": "ส่วนหัวที่ไม่มีเนื้อหาหรือมีข้อความที่ไม่สามารถเข้าถึงได้จะทำให้ผู้ใช้โปรแกรมอ่านหน้าจอไม่สามารถเข้าถึงข้อมูลบนโครงสร้างของหน้าเว็บ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัว](https://dequeuniversity.com/rules/axe/4.8/empty-heading)"
249
+ "message": "ส่วนหัวที่ไม่มีเนื้อหาหรือมีข้อความที่ไม่สามารถเข้าถึงได้จะทำให้ผู้ใช้โปรแกรมอ่านหน้าจอไม่สามารถเข้าถึงข้อมูลบนโครงสร้างของหน้าเว็บ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัว](https://dequeuniversity.com/rules/axe/4.9/empty-heading)"
259
250
  },
260
251
  "core/audits/accessibility/empty-heading.js | failureTitle": {
261
252
  "message": "องค์ประกอบส่วนหัวไม่มีเนื้อหา"
@@ -264,7 +255,7 @@
264
255
  "message": "องค์ประกอบส่วนหัวทั้งหมดมีเนื้อหา"
265
256
  },
266
257
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
267
- "message": "ช่องในฟอร์มที่มีป้ายกำกับหลายรายการอาจทำให้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) สร้างความสับสนให้กับผู้ใช้ได้ โดยอาจอ่านป้ายกำกับแรก ป้ายกำกับสุดท้าย หรืออ่านทุกป้ายกำกับ [ดูวิธีใช้ป้ายกำกับในแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.8/form-field-multiple-labels)"
258
+ "message": "ช่องในฟอร์มที่มีป้ายกำกับหลายรายการอาจทำให้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) สร้างความสับสนให้กับผู้ใช้ได้ โดยอาจอ่านป้ายกำกับแรก ป้ายกำกับสุดท้าย หรืออ่านทุกป้ายกำกับ [ดูวิธีใช้ป้ายกำกับในแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.9/form-field-multiple-labels)"
268
259
  },
269
260
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
270
261
  "message": "ช่องในฟอร์มมีป้ายกำกับหลายรายการ"
@@ -273,7 +264,7 @@
273
264
  "message": "ไม่มีช่องในฟอร์มช่องใดมีป้ายกำกับหลายรายการ"
274
265
  },
275
266
  "core/audits/accessibility/frame-title.js | description": {
276
- "message": "ผู้ใช้โปรแกรมอ่านหน้าจอต้องใช้ชื่อเฟรมเพื่ออธิบายเนื้อหาของเฟรม [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเฟรม](https://dequeuniversity.com/rules/axe/4.8/frame-title)"
267
+ "message": "ผู้ใช้โปรแกรมอ่านหน้าจอต้องใช้ชื่อเฟรมเพื่ออธิบายเนื้อหาของเฟรม [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเฟรม](https://dequeuniversity.com/rules/axe/4.9/frame-title)"
277
268
  },
278
269
  "core/audits/accessibility/frame-title.js | failureTitle": {
279
270
  "message": "องค์ประกอบ `<frame>` หรือ `<iframe>` ไม่มีชื่อ"
@@ -282,7 +273,7 @@
282
273
  "message": "องค์ประกอบ `<frame>` หรือ `<iframe>` มีชื่อ"
283
274
  },
284
275
  "core/audits/accessibility/heading-order.js | description": {
285
- "message": "ส่วนหัวที่เรียงลำดับอย่างถูกต้องโดยไม่มีการข้ามระดับจะถ่ายทอดโครงสร้างทางอรรถศาสตร์ของหน้าที่ทำให้การไปยังส่วนต่างๆ และการทำความเข้าใจง่ายมากขึ้นเมื่อใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลำดับส่วนหัว](https://dequeuniversity.com/rules/axe/4.8/heading-order)"
276
+ "message": "ส่วนหัวที่เรียงลำดับอย่างถูกต้องโดยไม่มีการข้ามระดับจะถ่ายทอดโครงสร้างทางอรรถศาสตร์ของหน้าที่ทำให้การไปยังส่วนต่างๆ และการทำความเข้าใจง่ายมากขึ้นเมื่อใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลำดับส่วนหัว](https://dequeuniversity.com/rules/axe/4.9/heading-order)"
286
277
  },
287
278
  "core/audits/accessibility/heading-order.js | failureTitle": {
288
279
  "message": "เอลิเมนต์ส่วนหัวไม่ปรากฏตามลำดับในเอลิเมนต์ลำดับต่อๆ ลงมา"
@@ -291,7 +282,7 @@
291
282
  "message": "เอลิเมนต์ส่วนหัวปรากฏตามลำดับในเอลิเมนต์ลำดับต่อๆ ลงมา"
292
283
  },
293
284
  "core/audits/accessibility/html-has-lang.js | description": {
294
- "message": "หากหน้าเว็บไม่ได้ระบุแอตทริบิวต์ `lang` โปรแกรมอ่านหน้าจอจะถือว่าหน้าดังกล่าวใช้ภาษาเริ่มต้นที่ผู้ใช้เลือกเมื่อตั้งค่าโปรแกรมอ่านหน้าจอ หากที่จริงแล้วหน้าดังกล่าวไม่ได้ใช้ภาษาเริ่มต้น โปรแกรมอ่านหน้าจออาจอ่านข้อความในหน้าได้ไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.8/html-has-lang)"
285
+ "message": "หากหน้าเว็บไม่ได้ระบุแอตทริบิวต์ `lang` โปรแกรมอ่านหน้าจอจะถือว่าหน้าดังกล่าวใช้ภาษาเริ่มต้นที่ผู้ใช้เลือกเมื่อตั้งค่าโปรแกรมอ่านหน้าจอ หากที่จริงแล้วหน้าดังกล่าวไม่ได้ใช้ภาษาเริ่มต้น โปรแกรมอ่านหน้าจออาจอ่านข้อความในหน้าได้ไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.9/html-has-lang)"
295
286
  },
296
287
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
297
288
  "message": "องค์ประกอบ `<html>` ไม่มีแอตทริบิวต์ `[lang]`"
@@ -300,7 +291,7 @@
300
291
  "message": "องค์ประกอบ `<html>` มีแอตทริบิวต์ `[lang]`"
301
292
  },
302
293
  "core/audits/accessibility/html-lang-valid.js | description": {
303
- "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องช่วยให้โปรแกรมอ่านหน้าจออ่านข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.8/html-lang-valid)"
294
+ "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องช่วยให้โปรแกรมอ่านหน้าจออ่านข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.9/html-lang-valid)"
304
295
  },
305
296
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
306
297
  "message": "องค์ประกอบ `<html>` ไม่มีค่าที่ถูกต้องสำหรับแอตทริบิวต์ `[lang]`"
@@ -309,7 +300,7 @@
309
300
  "message": "องค์ประกอบ `<html>` มีค่าที่ถูกต้องสำหรับแอตทริบิวต์ `[lang]`"
310
301
  },
311
302
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
312
- "message": "หากหน้าเว็บไม่ได้ระบุภาษาที่สอดคล้องกัน โปรแกรมอ่านหน้าจออาจอ่านข้อความของหน้าเว็บไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.8/html-xml-lang-mismatch)"
303
+ "message": "หากหน้าเว็บไม่ได้ระบุภาษาที่สอดคล้องกัน โปรแกรมอ่านหน้าจออาจอ่านข้อความของหน้าเว็บไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.9/html-xml-lang-mismatch)"
313
304
  },
314
305
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
315
306
  "message": "องค์ประกอบ `<html>` ไม่มีแอตทริบิวต์ `[xml:lang]` ที่มีภาษาฐานเดียวกันกับแอตทริบิวต์ `[lang]`"
@@ -318,7 +309,7 @@
318
309
  "message": "องค์ประกอบ `<html>` มีแอตทริบิวต์ `[xml:lang]` ที่มีภาษาฐานเดียวกันกับแอตทริบิวต์ `[lang]`"
319
310
  },
320
311
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
321
- "message": "ลิงก์ที่มีปลายทางเดียวกันควรจะมีคำอธิบายเดียวกัน เพื่อช่วยให้ผู้ใช้เข้าใจวัตถุประสงค์ของลิงก์และตัดสินใจว่าจะคลิกเพื่อไปตามลิงก์หรือไม่ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ที่เหมือนกัน](https://dequeuniversity.com/rules/axe/4.8/identical-links-same-purpose)"
312
+ "message": "ลิงก์ที่มีปลายทางเดียวกันควรจะมีคำอธิบายเดียวกัน เพื่อช่วยให้ผู้ใช้เข้าใจวัตถุประสงค์ของลิงก์และตัดสินใจว่าจะคลิกเพื่อไปตามลิงก์หรือไม่ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ที่เหมือนกัน](https://dequeuniversity.com/rules/axe/4.9/identical-links-same-purpose)"
322
313
  },
323
314
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
324
315
  "message": "ลิงก์ที่เหมือนกันมีวัตถุประสงค์ต่างกัน"
@@ -327,7 +318,7 @@
327
318
  "message": "ลิงก์ที่เหมือนกันมีวัตถุประสงค์เดียวกัน"
328
319
  },
329
320
  "core/audits/accessibility/image-alt.js | description": {
330
- "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย การใช้แอตทริบิวต์ Alt ที่ว่างเปล่าจะเป็นการเพิกเฉยต่อองค์ประกอบเพื่อการตกแต่ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.8/image-alt)"
321
+ "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย การใช้แอตทริบิวต์ Alt ที่ว่างเปล่าจะเป็นการเพิกเฉยต่อองค์ประกอบเพื่อการตกแต่ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.9/image-alt)"
331
322
  },
332
323
  "core/audits/accessibility/image-alt.js | failureTitle": {
333
324
  "message": "องค์ประกอบรูปภาพไม่มีแอตทริบิวต์ `[alt]`"
@@ -336,7 +327,7 @@
336
327
  "message": "องค์ประกอบรูปภาพมีแอตทริบิวต์ `[alt]`"
337
328
  },
338
329
  "core/audits/accessibility/image-redundant-alt.js | description": {
339
- "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย ข้อความสำรองที่เหมือนกันทุกประการกับข้อความที่อยู่ติดกับลิงก์หรือรูปภาพอาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสนได้เนื่องจากระบบจะอ่านข้อความ 2 ครั้ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.8/image-redundant-alt)"
330
+ "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย ข้อความสำรองที่เหมือนกันทุกประการกับข้อความที่อยู่ติดกับลิงก์หรือรูปภาพอาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสนได้เนื่องจากระบบจะอ่านข้อความ 2 ครั้ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.9/image-redundant-alt)"
340
331
  },
341
332
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
342
333
  "message": "องค์ประกอบรูปภาพมีแอตทริบิวต์ `[alt]` ที่เป็นข้อความซ้ำซ้อน"
@@ -345,7 +336,7 @@
345
336
  "message": "องค์ประกอบรูปภาพไม่มีแอตทริบิวต์ `[alt]` ที่เป็นข้อความซ้ำซ้อน"
346
337
  },
347
338
  "core/audits/accessibility/input-button-name.js | description": {
348
- "message": "การเพิ่มข้อความช่วยการเข้าถึงซึ่งมองเห็นได้ลงในปุ่มอินพุตอาจช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มอินพุต [ดูข้อมูลเพิ่มเติมเกี่ยวกับปุ่มอินพุต](https://dequeuniversity.com/rules/axe/4.8/input-button-name)"
339
+ "message": "การเพิ่มข้อความช่วยการเข้าถึงซึ่งมองเห็นได้ลงในปุ่มอินพุตอาจช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มอินพุต [ดูข้อมูลเพิ่มเติมเกี่ยวกับปุ่มอินพุต](https://dequeuniversity.com/rules/axe/4.9/input-button-name)"
349
340
  },
350
341
  "core/audits/accessibility/input-button-name.js | failureTitle": {
351
342
  "message": "ปุ่มอินพุตไม่มีข้อความที่มองเห็นได้ชัดเจน"
@@ -354,7 +345,7 @@
354
345
  "message": "ปุ่มอินพุตมีข้อความที่มองเห็นได้ชัดเจน"
355
346
  },
356
347
  "core/audits/accessibility/input-image-alt.js | description": {
357
- "message": "เมื่อมีการใช้รูปภาพเป็นปุ่ม `<input>` การระบุข้อความสำรองจะช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มได้ [ดูข้อมูลเกี่ยวกับข้อความแสดงแทนของรูปภาพที่ป้อน](https://dequeuniversity.com/rules/axe/4.8/input-image-alt)"
348
+ "message": "เมื่อมีการใช้รูปภาพเป็นปุ่ม `<input>` การระบุข้อความสำรองจะช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มได้ [ดูข้อมูลเกี่ยวกับข้อความแสดงแทนของรูปภาพที่ป้อน](https://dequeuniversity.com/rules/axe/4.9/input-image-alt)"
358
349
  },
359
350
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
360
351
  "message": "องค์ประกอบ `<input type=\"image\">` ไม่มีข้อความ `[alt]`"
@@ -363,7 +354,7 @@
363
354
  "message": "องค์ประกอบ `<input type=\"image\">` มีข้อความ `[alt]`"
364
355
  },
365
356
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
366
- "message": "ป้ายกำกับข้อความที่มองเห็นได้ซึ่งไม่ตรงกับชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสน [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อที่เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.8/label-content-name-mismatch)"
357
+ "message": "ป้ายกำกับข้อความที่มองเห็นได้ซึ่งไม่ตรงกับชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสน [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อที่เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.9/label-content-name-mismatch)"
367
358
  },
368
359
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
369
360
  "message": "องค์ประกอบที่มีป้ายกำกับข้อความที่มองเห็นได้ไม่มีชื่อที่เข้าถึงได้ที่ตรงกัน"
@@ -372,7 +363,7 @@
372
363
  "message": "องค์ประกอบที่มีป้ายกำกับข้อความที่มองเห็นได้มีชื่อที่เข้าถึงได้ที่ตรงกัน"
373
364
  },
374
365
  "core/audits/accessibility/label.js | description": {
375
- "message": "ป้ายกำกับช่วยดูแลให้เทคโนโลยีความช่วยเหลือพิเศษอย่างเช่น โปรแกรมอ่านหน้าจอ อ่านส่วนควบคุมฟอร์มได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกํากับองค์ประกอบแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.8/label)"
366
+ "message": "ป้ายกำกับช่วยดูแลให้เทคโนโลยีความช่วยเหลือพิเศษอย่างเช่น โปรแกรมอ่านหน้าจอ อ่านส่วนควบคุมฟอร์มได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกํากับองค์ประกอบแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.9/label)"
376
367
  },
377
368
  "core/audits/accessibility/label.js | failureTitle": {
378
369
  "message": "องค์ประกอบฟอร์มไม่มีป้ายกำกับที่เชื่อมโยง"
@@ -381,7 +372,7 @@
381
372
  "message": "องค์ประกอบฟอร์มมีป้ายกำกับที่เชื่อมโยงอยู่"
382
373
  },
383
374
  "core/audits/accessibility/landmark-one-main.js | description": {
384
- "message": "จุดสังเกตหลัก 1 จุดช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอไปยังส่วนต่างๆ ของหน้าเว็บได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับจุดสังเกต](https://dequeuniversity.com/rules/axe/4.8/landmark-one-main)"
375
+ "message": "จุดสังเกตหลัก 1 จุดช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอไปยังส่วนต่างๆ ของหน้าเว็บได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับจุดสังเกต](https://dequeuniversity.com/rules/axe/4.9/landmark-one-main)"
385
376
  },
386
377
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
387
378
  "message": "เอกสารไม่มีจุดสังเกตหลัก"
@@ -390,7 +381,7 @@
390
381
  "message": "เอกสารมีจุดสังเกตหลัก"
391
382
  },
392
383
  "core/audits/accessibility/link-in-text-block.js | description": {
393
- "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย ข้อความลิงก์ที่มองเห็นได้ชัดเจนจะช่วยปรับปรุงประสบการณ์การใช้งานให้ดียิ่งขึ้นสำหรับผู้ใช้ที่มีสายตาเลือนราง [ดูวิธีทำให้ลิงก์โดดเด่น](https://dequeuniversity.com/rules/axe/4.8/link-in-text-block)"
384
+ "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย ข้อความลิงก์ที่มองเห็นได้ชัดเจนจะช่วยปรับปรุงประสบการณ์การใช้งานให้ดียิ่งขึ้นสำหรับผู้ใช้ที่มีสายตาเลือนราง [ดูวิธีทำให้ลิงก์โดดเด่น](https://dequeuniversity.com/rules/axe/4.9/link-in-text-block)"
394
385
  },
395
386
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
396
387
  "message": "ต้องใช้สีจึงจะแยกความแตกต่างของลิงก์ได้"
@@ -399,7 +390,7 @@
399
390
  "message": "แยกความแตกต่างของลิงก์ได้โดยไม่ต้องใช้สี"
400
391
  },
401
392
  "core/audits/accessibility/link-name.js | description": {
402
- "message": "ข้อความลิงก์ (และข้อความสำรองสำหรับรูปภาพเมื่อใช้เป็นลิงก์) ที่แยกแยะได้ ไม่ซ้ำกัน และโฟกัสได้ ช่วยปรับปรุงประสบการณ์การไปยังส่วนต่างๆ สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูวิธีทำให้ลิงก์เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.8/link-name)"
393
+ "message": "ข้อความลิงก์ (และข้อความสำรองสำหรับรูปภาพเมื่อใช้เป็นลิงก์) ที่แยกแยะได้ ไม่ซ้ำกัน และโฟกัสได้ ช่วยปรับปรุงประสบการณ์การไปยังส่วนต่างๆ สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูวิธีทำให้ลิงก์เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.9/link-name)"
403
394
  },
404
395
  "core/audits/accessibility/link-name.js | failureTitle": {
405
396
  "message": "ลิงก์ไม่มีชื่อที่แยกแยะได้"
@@ -408,7 +399,7 @@
408
399
  "message": "ลิงก์มีชื่อที่แยกแยะได้"
409
400
  },
410
401
  "core/audits/accessibility/list.js | description": {
411
- "message": "โปรแกรมอ่านหน้าจอมีวิธีเฉพาะในการอ่านรายการ การดูแลให้รายการมีโครงสร้างที่ถูกต้องช่วยโปรแกรมอ่านหน้าจอในการอ่านเนื้อหา [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.8/list)"
402
+ "message": "โปรแกรมอ่านหน้าจอมีวิธีเฉพาะในการอ่านรายการ การดูแลให้รายการมีโครงสร้างที่ถูกต้องช่วยโปรแกรมอ่านหน้าจอในการอ่านเนื้อหา [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.9/list)"
412
403
  },
413
404
  "core/audits/accessibility/list.js | failureTitle": {
414
405
  "message": "รายการไม่ได้มีแต่องค์ประกอบ `<li>` และองค์ประกอบที่รองรับสคริปต์ (`<script>` และ`<template>`)"
@@ -417,7 +408,7 @@
417
408
  "message": "รายการมีเพียงองค์ประกอบ `<li>` และองค์ประกอบที่รองรับสคริปต์ (`<script>` และ `<template>`)"
418
409
  },
419
410
  "core/audits/accessibility/listitem.js | description": {
420
- "message": "โปรแกรมอ่านหน้าจอกำหนดให้รายการย่อย (`<li>`) อยู่ใน `<ul>` `<ol>` หรือ `<menu>` ระดับบนสุดเพื่อให้อ่านได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.8/listitem)"
411
+ "message": "โปรแกรมอ่านหน้าจอกำหนดให้รายการย่อย (`<li>`) อยู่ใน `<ul>` `<ol>` หรือ `<menu>` ระดับบนสุดเพื่อให้อ่านได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.9/listitem)"
421
412
  },
422
413
  "core/audits/accessibility/listitem.js | failureTitle": {
423
414
  "message": "รายการข้อมูล (`<li>`) ไม่ได้อยู่ภายในองค์ประกอบระดับบนสุด `<ul>`, `<ol>` หรือ `<menu>`"
@@ -426,7 +417,7 @@
426
417
  "message": "รายการข้อมูล (`<li>`) อยู่ในองค์ประกอบระดับบนสุด `<ul>` `<ol>` หรือ `<menu>`"
427
418
  },
428
419
  "core/audits/accessibility/meta-refresh.js | description": {
429
- "message": "ผู้ใช้ไม่ได้คาดหวังให้หน้าเว็บรีเฟรชโดยอัตโนมัติ และการรีเฟรชหน้าเว็บจะย้ายโฟกัสกลับไปที่ด้านบนของหน้า ซึ่งอาจทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สับสนหรือน่าหงุดหงิด [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็กการรีเฟรช](https://dequeuniversity.com/rules/axe/4.8/meta-refresh)"
420
+ "message": "ผู้ใช้ไม่ได้คาดหวังให้หน้าเว็บรีเฟรชโดยอัตโนมัติ และการรีเฟรชหน้าเว็บจะย้ายโฟกัสกลับไปที่ด้านบนของหน้า ซึ่งอาจทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สับสนหรือน่าหงุดหงิด [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็กการรีเฟรช](https://dequeuniversity.com/rules/axe/4.9/meta-refresh)"
430
421
  },
431
422
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
432
423
  "message": "เอกสารใช้ `<meta http-equiv=\"refresh\">`"
@@ -435,7 +426,7 @@
435
426
  "message": "เอกสารนี้ไม่ได้ใช้ `<meta http-equiv=\"refresh\">`"
436
427
  },
437
428
  "core/audits/accessibility/meta-viewport.js | description": {
438
- "message": "การปิดใช้การซูมจะเป็นปัญหาสำหรับผู้ใช้ที่มีสายตาเลือนรางซึ่งต้องใช้การขยายหน้าจอเพื่อให้ดูเนื้อหาของหน้าเว็บได้อย่างชัดเจน [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็ก Viewport](https://dequeuniversity.com/rules/axe/4.8/meta-viewport)"
429
+ "message": "การปิดใช้การซูมจะเป็นปัญหาสำหรับผู้ใช้ที่มีสายตาเลือนรางซึ่งต้องใช้การขยายหน้าจอเพื่อให้ดูเนื้อหาของหน้าเว็บได้อย่างชัดเจน [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็ก Viewport](https://dequeuniversity.com/rules/axe/4.9/meta-viewport)"
439
430
  },
440
431
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
441
432
  "message": "มีการใช้ `[user-scalable=\"no\"]` ในองค์ประกอบ `<meta name=\"viewport\">`หรือแอตทริบิวต์ `[maximum-scale]` น้อยกว่า 5"
@@ -444,7 +435,7 @@
444
435
  "message": "ไม่มีการใช้ `[user-scalable=\"no\"]` ในองค์ประกอบ `<meta name=\"viewport\">` และแอตทริบิวต์ `[maximum-scale]` ไม่น้อยกว่า 5"
445
436
  },
446
437
  "core/audits/accessibility/object-alt.js | description": {
447
- "message": "โปรแกรมอ่านหน้าจอแปลเนื้อหาที่ไม่ใช่ข้อความไม่ได้ การเพิ่มข้อความแสดงแทนลงในองค์ประกอบ `<object>` ช่วยโปรแกรมอ่านหน้าจอถ่ายทอดความหมายให้แก่ผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแสดงแทนสำหรับองค์ประกอบ `object`](https://dequeuniversity.com/rules/axe/4.8/object-alt)"
438
+ "message": "โปรแกรมอ่านหน้าจอแปลเนื้อหาที่ไม่ใช่ข้อความไม่ได้ การเพิ่มข้อความแสดงแทนลงในองค์ประกอบ `<object>` ช่วยโปรแกรมอ่านหน้าจอถ่ายทอดความหมายให้แก่ผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแสดงแทนสำหรับองค์ประกอบ `object`](https://dequeuniversity.com/rules/axe/4.9/object-alt)"
448
439
  },
449
440
  "core/audits/accessibility/object-alt.js | failureTitle": {
450
441
  "message": "องค์ประกอบ `<object>` ไม่มีข้อความแสดงแทน"
@@ -453,7 +444,7 @@
453
444
  "message": "องค์ประกอบ `<object>` มีข้อความแสดงแทน"
454
445
  },
455
446
  "core/audits/accessibility/select-name.js | description": {
456
- "message": "องค์ประกอบแบบฟอร์มที่ไม่มีป้ายกำกับที่มีประสิทธิภาพจะสร้างประสบการณ์การใช้งานที่น่าผิดหวังสำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบ `select`](https://dequeuniversity.com/rules/axe/4.8/select-name)"
447
+ "message": "องค์ประกอบแบบฟอร์มที่ไม่มีป้ายกำกับที่มีประสิทธิภาพจะสร้างประสบการณ์การใช้งานที่น่าผิดหวังสำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบ `select`](https://dequeuniversity.com/rules/axe/4.9/select-name)"
457
448
  },
458
449
  "core/audits/accessibility/select-name.js | failureTitle": {
459
450
  "message": "องค์ประกอบ Select ไม่มีองค์ประกอบป้ายกำกับที่เชื่อมโยง"
@@ -462,7 +453,7 @@
462
453
  "message": "องค์ประกอบ Select มีองค์ประกอบป้ายกำกับที่เกี่ยวข้อง"
463
454
  },
464
455
  "core/audits/accessibility/skip-link.js | description": {
465
- "message": "การใส่ลิงก์ข้ามจะช่วยให้ผู้ใช้ข้ามไปยังเนื้อหาหลักเพื่อประหยัดเวลาได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ข้าม](https://dequeuniversity.com/rules/axe/4.8/skip-link)"
456
+ "message": "การใส่ลิงก์ข้ามจะช่วยให้ผู้ใช้ข้ามไปยังเนื้อหาหลักเพื่อประหยัดเวลาได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ข้าม](https://dequeuniversity.com/rules/axe/4.9/skip-link)"
466
457
  },
467
458
  "core/audits/accessibility/skip-link.js | failureTitle": {
468
459
  "message": "ไม่สามารถโฟกัสที่ลิงก์ข้ามได้"
@@ -471,7 +462,7 @@
471
462
  "message": "โฟกัสลิงก์ข้ามได้"
472
463
  },
473
464
  "core/audits/accessibility/tabindex.js | description": {
474
- "message": "ค่าที่มากกว่า 0 หมายความว่ามีการจัดเรียงการนำทางที่ชัดเจน แม้ว่าการทำงานนี้จะไม่มีปัญหาในทางเทคนิค แต่มักก่อให้เกิดประสบการณ์การใช้งานที่น่าหงุดหงิดสำหรับผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `tabindex`](https://dequeuniversity.com/rules/axe/4.8/tabindex)"
465
+ "message": "ค่าที่มากกว่า 0 หมายความว่ามีการจัดเรียงการนำทางที่ชัดเจน แม้ว่าการทำงานนี้จะไม่มีปัญหาในทางเทคนิค แต่มักก่อให้เกิดประสบการณ์การใช้งานที่น่าหงุดหงิดสำหรับผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `tabindex`](https://dequeuniversity.com/rules/axe/4.9/tabindex)"
475
466
  },
476
467
  "core/audits/accessibility/tabindex.js | failureTitle": {
477
468
  "message": "องค์ประกอบบางอย่างมีค่า `[tabindex]` มากกว่า 0"
@@ -480,7 +471,7 @@
480
471
  "message": "ไม่มีองค์ประกอบที่มีค่า `[tabindex]` มากกว่า 0"
481
472
  },
482
473
  "core/audits/accessibility/table-duplicate-name.js | description": {
483
- "message": "แอตทริบิวต์สรุปควรอธิบายโครงสร้างตาราง ส่วน`<caption>`ควรมีชื่อบนหน้าจอ มาร์กอัปตารางที่ถูกต้องจะช่วยอำนวยความสะดวกให้แก่ผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับสรุปและคำบรรยาย](https://dequeuniversity.com/rules/axe/4.8/table-duplicate-name)"
474
+ "message": "แอตทริบิวต์สรุปควรอธิบายโครงสร้างตาราง ส่วน`<caption>`ควรมีชื่อบนหน้าจอ มาร์กอัปตารางที่ถูกต้องจะช่วยอำนวยความสะดวกให้แก่ผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับสรุปและคำบรรยาย](https://dequeuniversity.com/rules/axe/4.9/table-duplicate-name)"
484
475
  },
485
476
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
486
477
  "message": "ตารางมีเนื้อหาที่เหมือนกันในแอตทริบิวต์สรุปและ`<caption>.`"
@@ -489,7 +480,7 @@
489
480
  "message": "ตารางมีเนื้อหาที่แตกต่างกันในแอตทริบิวต์สรุปและ`<caption>`"
490
481
  },
491
482
  "core/audits/accessibility/table-fake-caption.js | description": {
492
- "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าตารางใช้องค์ประกอบคำบรรยายจริงแทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` อาจช่วยปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยาย](https://dequeuniversity.com/rules/axe/4.8/table-fake-caption)"
483
+ "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าตารางใช้องค์ประกอบคำบรรยายจริงแทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` อาจช่วยปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยาย](https://dequeuniversity.com/rules/axe/4.9/table-fake-caption)"
493
484
  },
494
485
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
495
486
  "message": "ตารางไม่ได้ใช้ `<caption>` แทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` ในการระบุคำบรรยาย"
@@ -498,7 +489,7 @@
498
489
  "message": "ตารางใช้ `<caption>` แทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` ในการระบุคำบรรยาย"
499
490
  },
500
491
  "core/audits/accessibility/target-size.js | description": {
501
- "message": "เป้าหมายการสัมผัสที่มีขนาดและระยะห่างเพียงพอจะช่วยให้ผู้ใช้ที่อาจพบปัญหาในการกำหนดเป้าหมายการควบคุมขนาดเล็กเปิดใช้งานเป้าหมายได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายการสัมผัส](https://dequeuniversity.com/rules/axe/4.8/target-size)"
492
+ "message": "เป้าหมายการสัมผัสที่มีขนาดและระยะห่างเพียงพอจะช่วยให้ผู้ใช้ที่อาจพบปัญหาในการกำหนดเป้าหมายการควบคุมขนาดเล็กเปิดใช้งานเป้าหมายได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายการสัมผัส](https://dequeuniversity.com/rules/axe/4.9/target-size)"
502
493
  },
503
494
  "core/audits/accessibility/target-size.js | failureTitle": {
504
495
  "message": "เป้าหมายการสัมผัสไม่มีขนาดหรือระยะห่างที่เพียงพอ"
@@ -507,7 +498,7 @@
507
498
  "message": "เป้าหมายการสัมผัสมีขนาดและระยะห่างที่เพียงพอ"
508
499
  },
509
500
  "core/audits/accessibility/td-has-header.js | description": {
510
- "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าองค์ประกอบ `<td>` ในตารางขนาดใหญ่ (เซลล์อย่างน้อย 3 เซลล์มีขนาดกว้างและสูง) มีส่วนหัวตารางที่เชื่อมโยงอาจปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.8/td-has-header)"
501
+ "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าองค์ประกอบ `<td>` ในตารางขนาดใหญ่ (เซลล์อย่างน้อย 3 เซลล์มีขนาดกว้างและสูง) มีส่วนหัวตารางที่เชื่อมโยงอาจปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.9/td-has-header)"
511
502
  },
512
503
  "core/audits/accessibility/td-has-header.js | failureTitle": {
513
504
  "message": "องค์ประกอบ `<td>` ใน `<table>` ขนาดใหญ่ไม่มีส่วนหัวตาราง"
@@ -516,7 +507,7 @@
516
507
  "message": "องค์ประกอบ `<td>` ใน `<table>` ขนาดใหญ่มีส่วนหัวตารางอย่างน้อย 1 รายการ"
517
508
  },
518
509
  "core/audits/accessibility/td-headers-attr.js | description": {
519
- "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้เซลล์ `<td>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึงเซลล์อื่นๆ ในตารางเดียวกันเท่านั้นอาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `headers`](https://dequeuniversity.com/rules/axe/4.8/td-headers-attr)"
510
+ "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้เซลล์ `<td>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึงเซลล์อื่นๆ ในตารางเดียวกันเท่านั้นอาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `headers`](https://dequeuniversity.com/rules/axe/4.9/td-headers-attr)"
520
511
  },
521
512
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
522
513
  "message": "เซลล์ในองค์ประกอบ `<table>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึง `id` ขององค์ประกอบที่ไม่พบในตารางเดียวกันนี้"
@@ -525,7 +516,7 @@
525
516
  "message": "เซลล์ในองค์ประกอบ `<table>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึงเซลล์ของตารางภายในตารางเดียวกัน"
526
517
  },
527
518
  "core/audits/accessibility/th-has-data-cells.js | description": {
528
- "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้ส่วนหัวของตารางอ้างอิงถึงชุดเซลล์บางชุดอยู่เสมออาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.8/th-has-data-cells)"
519
+ "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้ส่วนหัวของตารางอ้างอิงถึงชุดเซลล์บางชุดอยู่เสมออาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.9/th-has-data-cells)"
529
520
  },
530
521
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
531
522
  "message": "องค์ประกอบ `<th>` และองค์ประกอบที่มี `[role=\"columnheader\"/\"rowheader\"]` ไม่มีเซลล์ข้อมูลที่องค์ประกอบอธิบาย"
@@ -534,7 +525,7 @@
534
525
  "message": "องค์ประกอบ `<th>` และองค์ประกอบที่มี `[role=\"columnheader\"/\"rowheader\"]` มีเซลล์ข้อมูลที่องค์ประกอบอธิบาย"
535
526
  },
536
527
  "core/audits/accessibility/valid-lang.js | description": {
537
- "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องในองค์ประกอบต่างๆ ช่วยดูแลให้โปรแกรมอ่านหน้าจอออกเสียงข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.8/valid-lang)"
528
+ "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องในองค์ประกอบต่างๆ ช่วยดูแลให้โปรแกรมอ่านหน้าจอออกเสียงข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.9/valid-lang)"
538
529
  },
539
530
  "core/audits/accessibility/valid-lang.js | failureTitle": {
540
531
  "message": "แอตทริบิวต์ `[lang]` ไม่มีค่าที่ถูกต้อง"
@@ -543,7 +534,7 @@
543
534
  "message": "แอตทริบิวต์ `[lang]` มีค่าที่ถูกต้อง"
544
535
  },
545
536
  "core/audits/accessibility/video-caption.js | description": {
546
- "message": "เมื่อวิดีโอมีคำอธิบายแทนเสียง คนหูหนวกและผู้ใช้ที่มีความบกพร่องทางการได้ยินจะเข้าถึงข้อมูลของวิดีโอได้ง่ายขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยายแทนเสียงสำหรับวิดีโอ](https://dequeuniversity.com/rules/axe/4.8/video-caption)"
537
+ "message": "เมื่อวิดีโอมีคำอธิบายแทนเสียง คนหูหนวกและผู้ใช้ที่มีความบกพร่องทางการได้ยินจะเข้าถึงข้อมูลของวิดีโอได้ง่ายขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยายแทนเสียงสำหรับวิดีโอ](https://dequeuniversity.com/rules/axe/4.9/video-caption)"
547
538
  },
548
539
  "core/audits/accessibility/video-caption.js | failureTitle": {
549
540
  "message": "องค์ประกอบ `<video>` ไม่มีองค์ประกอบ `<track>` ที่มี `[kind=\"captions\"]`"
@@ -743,18 +734,6 @@
743
734
  "core/audits/byte-efficiency/uses-text-compression.js | title": {
744
735
  "message": "เปิดใช้การบีบอัดข้อความ"
745
736
  },
746
- "core/audits/content-width.js | description": {
747
- "message": "หากความกว้างของเนื้อหาในแอปไม่ตรงกับความกว้างของวิวพอร์ต แอปอาจไม่ได้รับการเพิ่มประสิทธิภาพสำหรับหน้าจออุปกรณ์เคลื่อนที่ [ดูวิธีปรับขนาดเนื้อหาของวิวพอร์ต](https://developer.chrome.com/docs/lighthouse/pwa/content-width/)"
748
- },
749
- "core/audits/content-width.js | explanation": {
750
- "message": "ขนาดวิวพอร์ต {innerWidth} พิกเซลไม่ตรงกับขนาดหน้าต่าง {outerWidth} พิกเซล"
751
- },
752
- "core/audits/content-width.js | failureTitle": {
753
- "message": "ไม่ได้ปรับขนาดเนื้อหาอย่างถูกต้องสำหรับวิวพอร์ต"
754
- },
755
- "core/audits/content-width.js | title": {
756
- "message": "มีการปรับขนาดเนื้อหาอย่างถูกต้องสำหรับวิวพอร์ต"
757
- },
758
737
  "core/audits/critical-request-chains.js | description": {
759
738
  "message": "ห่วงโซ่คำขอที่สำคัญด้านล่างแสดงให้เห็นทรัพยากรที่โหลดโดยมีลำดับความสำคัญสูง พิจารณาลดความยาวของห่วงโซ่ ลดขนาดการดาวน์โหลดของทรัพยากร หรือเลื่อนเวลาการดาวน์โหลดทรัพยากรที่ไม่จำเป็นเพื่อปรับปรุงการโหลดหน้าเว็บ [ดูวิธีหลีกเลี่ยงการเชนคำขอที่สำคัญ](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)"
760
739
  },
@@ -1004,102 +983,6 @@
1004
983
  "core/audits/image-size-responsive.js | title": {
1005
984
  "message": "แสดงรูปภาพที่มีความละเอียดเหมาะสม"
1006
985
  },
1007
- "core/audits/installable-manifest.js | already-installed": {
1008
- "message": "มีการติดตั้งแอปนี้ไว้แล้ว"
1009
- },
1010
- "core/audits/installable-manifest.js | cannot-download-icon": {
1011
- "message": "ดาวน์โหลดไอคอนที่จำเป็นจากไฟล์ Manifest ไม่ได้"
1012
- },
1013
- "core/audits/installable-manifest.js | columnValue": {
1014
- "message": "เหตุผลที่ไม่สำเร็จ"
1015
- },
1016
- "core/audits/installable-manifest.js | description": {
1017
- "message": "Service Worker เป็นเทคโนโลยีที่ช่วยให้แอปของคุณใช้ฟีเจอร์ของ Progressive Web App ได้หลายฟีเจอร์ เช่น ออฟไลน์ เพิ่มไปยังหน้าจอหลัก และข้อความ Push เมื่อใช้ Service Worker และไฟล์ Manifest อย่างเหมาะสม เบราว์เซอร์จะแจ้งผู้ใช้อย่างชัดแจ้งให้เพิ่มแอปของคุณในหน้าจอหลัก ซึ่งจะทำให้ผู้ใช้มีส่วนร่วมเพิ่มขึ้นได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดความสามารถในการติดตั้งไฟล์ Manifest](https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/)"
1018
- },
1019
- "core/audits/installable-manifest.js | displayValue": {
1020
- "message": "{itemCount,plural, =1{เหตุผล 1 ข้อ}other{เหตุผล # ข้อ}}"
1021
- },
1022
- "core/audits/installable-manifest.js | failureTitle": {
1023
- "message": "ไฟล์ Manifest ของเว็บแอปหรือ Service Worker ไม่ตรงตามข้อกำหนดด้านความสามารถในการติดตั้ง"
1024
- },
1025
- "core/audits/installable-manifest.js | ids-do-not-match": {
1026
- "message": "URL ของแอปใน Play Store และรหัส Play Store ไม่ตรงกัน"
1027
- },
1028
- "core/audits/installable-manifest.js | in-incognito": {
1029
- "message": "หน้าโหลดในหน้าต่างที่ไม่ระบุตัวตน"
1030
- },
1031
- "core/audits/installable-manifest.js | manifest-display-not-supported": {
1032
- "message": "พร็อพเพอร์ตี้ `display` ของไฟล์ Manifest ต้องเป็นอย่างใดอย่างหนึ่งระหว่าง `standalone`, `fullscreen` หรือ `minimal-ui`"
1033
- },
1034
- "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1035
- "message": "ไฟล์ Manifest มีช่อง \"display_override\" และโหมดการแสดงผลโหมดแรกที่รองรับต้องเป็นอย่างใดอย่างหนึ่งระหว่าง \"standalone\", \"fullscreen\" หรือ \"minimal-ui\""
1036
- },
1037
- "core/audits/installable-manifest.js | manifest-empty": {
1038
- "message": "ดึงข้อมูลไฟล์ Manifest ไม่ได้ ไฟล์ดังกล่าวว่างเปล่า หรือแยกวิเคราะห์ไม่ได้"
1039
- },
1040
- "core/audits/installable-manifest.js | manifest-location-changed": {
1041
- "message": "URL ของไฟล์ Manifest เปลี่ยนไปขณะดึงข้อมูลไฟล์ Manifest"
1042
- },
1043
- "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1044
- "message": "ไฟล์ Manifest ไม่มีช่อง `name` หรือ `short_name`"
1045
- },
1046
- "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1047
- "message": "ไฟล์ Manifest ไม่มีไอคอนที่เหมาะสม ซึ่งต้องอยู่ในรูปแบบ PNG, SVG หรือ WebP และมีขนาดอย่างน้อย {value0} พิกเซล ต้องตั้งค่าแอตทริบิวต์ขนาด และหากมีการตั้งค่าแอตทริบิวต์จุดประสงค์ แอตทริบิวต์นั้นต้องมี \"any\""
1048
- },
1049
- "core/audits/installable-manifest.js | no-acceptable-icon": {
1050
- "message": "ไม่ได้ให้ไอคอนที่เป็นรูปสี่เหลี่ยมจัตุรัสและมีขนาดอย่างน้อย {value0} พิกเซลในรูปแบบ PNG, SVG หรือ WebP ซึ่งไม่ได้ตั้งค่าแอตทริบิวต์วัตถุประสงค์เอาไว้หรือตั้งค่าเป็น \"any\""
1051
- },
1052
- "core/audits/installable-manifest.js | no-icon-available": {
1053
- "message": "ไอคอนที่ดาวน์โหลดว่างเปล่าหรือเกิดความเสียหาย"
1054
- },
1055
- "core/audits/installable-manifest.js | no-id-specified": {
1056
- "message": "ไม่ได้ระบุรหัส Play Store"
1057
- },
1058
- "core/audits/installable-manifest.js | no-manifest": {
1059
- "message": "หน้านี้ไม่มี <link> URL ของไฟล์ Manifest"
1060
- },
1061
- "core/audits/installable-manifest.js | no-url-for-service-worker": {
1062
- "message": "ตรวจสอบ Service Worker โดยไม่มีช่อง \"start_url\" ในไฟล์ Manifest ไม่ได้"
1063
- },
1064
- "core/audits/installable-manifest.js | noErrorId": {
1065
- "message": "ไม่รู้จักรหัสข้อผิดพลาดด้านความสามารถในการติดตั้ง \"{errorId}\""
1066
- },
1067
- "core/audits/installable-manifest.js | not-from-secure-origin": {
1068
- "message": "หน้าไม่ได้แสดงผลจากต้นทางที่ปลอดภัย"
1069
- },
1070
- "core/audits/installable-manifest.js | not-in-main-frame": {
1071
- "message": "หน้าไม่ได้โหลดในเฟรมหลัก"
1072
- },
1073
- "core/audits/installable-manifest.js | not-offline-capable": {
1074
- "message": "หน้าใช้งานแบบออฟไลน์ไม่ได้"
1075
- },
1076
- "core/audits/installable-manifest.js | pipeline-restarted": {
1077
- "message": "ถอนการติดตั้ง PWA แล้วและกำลังรีเซ็ตการตรวจสอบความสามารถในการติดตั้ง"
1078
- },
1079
- "core/audits/installable-manifest.js | platform-not-supported-on-android": {
1080
- "message": "แพลตฟอร์มแอปพลิเคชันที่ระบุไว้ใช้ไม่ได้ใน Android"
1081
- },
1082
- "core/audits/installable-manifest.js | prefer-related-applications": {
1083
- "message": "ไฟล์ Manifest ระบุ prefer_related_applications: true"
1084
- },
1085
- "core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1086
- "message": "prefer_related_applications ใช้ได้เฉพาะใน Chrome เบต้า และเวอร์ชันเสถียรใน Android เท่านั้น"
1087
- },
1088
- "core/audits/installable-manifest.js | protocol-timeout": {
1089
- "message": "Lighthouse ไม่สามารถระบุว่าติดตั้งหน้าเว็บได้หรือไม่ โปรดลองใช้ Chrome เวอร์ชันใหม่กว่านี้"
1090
- },
1091
- "core/audits/installable-manifest.js | start-url-not-valid": {
1092
- "message": "URL เริ่มต้นของไฟล์ Manifest ไม่ถูกต้อง"
1093
- },
1094
- "core/audits/installable-manifest.js | title": {
1095
- "message": "ไฟล์ Manifest ของเว็บแอปและ Service Worker ตรงตามข้อกำหนดด้านความสามารถในการติดตั้ง"
1096
- },
1097
- "core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1098
- "message": "URL ในไฟล์ Manifest มีชื่อผู้ใช้ รหัสผ่าน หรือพอร์ต"
1099
- },
1100
- "core/audits/installable-manifest.js | warn-not-offline-capable": {
1101
- "message": "หน้าใช้งานแบบออฟไลน์ไม่ได้ หน้านี้จะไม่ถือว่าติดตั้งได้หลังจาก Chrome 93 ซึ่งเป็นรุ่นที่เสถียรและเปิดตัวในเดือนสิงหาคม 2021"
1102
- },
1103
986
  "core/audits/is-on-https.js | allowed": {
1104
987
  "message": "อนุญาต"
1105
988
  },
@@ -1157,15 +1040,6 @@
1157
1040
  "core/audits/largest-contentful-paint-element.js | title": {
1158
1041
  "message": "องค์ประกอบ Largest Contentful Paint"
1159
1042
  },
1160
- "core/audits/layout-shift-elements.js | columnContribution": {
1161
- "message": "ผลกระทบของการเปลี่ยนเลย์เอาต์"
1162
- },
1163
- "core/audits/layout-shift-elements.js | description": {
1164
- "message": "องค์ประกอบ DOM เหล่านี้ได้รับผลกระทบมากที่สุดจากการเปลี่ยนเลย์เอาต์ การเปลี่ยนเลย์เอาต์บางอย่างอาจไม่รวมอยู่ในค่าเมตริก CLS อันเนื่องมาจาก[การจัดกรอบเวลา](https://web.dev/articles/cls#what_is_cls) [ดูวิธีเพิ่มประสิทธิภาพ CLS](https://web.dev/articles/optimize-cls)"
1165
- },
1166
- "core/audits/layout-shift-elements.js | title": {
1167
- "message": "หลีกเลี่ยงการเลื่อนเลย์เอาต์ขนาดใหญ่"
1168
- },
1169
1043
  "core/audits/layout-shifts.js | columnScore": {
1170
1044
  "message": "คะแนนการเปลี่ยนเลย์เอาต์"
1171
1045
  },
@@ -1220,33 +1094,6 @@
1220
1094
  "core/audits/mainthread-work-breakdown.js | title": {
1221
1095
  "message": "ลดการทำงานของเธรดหลัก"
1222
1096
  },
1223
- "core/audits/manual/pwa-cross-browser.js | description": {
1224
- "message": "เว็บไซต์ควรทำงานในเบราว์เซอร์หลักๆ ทั้งหมดได้เพื่อให้เข้าถึงผู้ใช้จำนวนมากที่สุด [ดูข้อมูลเกี่ยวกับความเข้ากันได้ในเบราว์เซอร์ต่างๆ](https://developer.chrome.com/docs/lighthouse/pwa/pwa-cross-browser/)"
1225
- },
1226
- "core/audits/manual/pwa-cross-browser.js | title": {
1227
- "message": "เว็บไซต์ทำงานในเบราว์เซอร์ต่างๆ ได้"
1228
- },
1229
- "core/audits/manual/pwa-each-page-has-url.js | description": {
1230
- "message": "ตรวจดูว่าแต่ละหน้าทำ Deep Link ผ่าน URL ได้และ URL ต่างๆ ไม่ซ้ำกันเพื่อให้แชร์ได้ในโซเชียลมีเดีย [ดูข้อมูลเพิ่มเติมเกี่ยวกับการระบุ Deep Link](https://developer.chrome.com/docs/lighthouse/pwa/pwa-each-page-has-url/)"
1231
- },
1232
- "core/audits/manual/pwa-each-page-has-url.js | title": {
1233
- "message": "แต่ละหน้ามี URL ที่ไม่ซ้ำกัน"
1234
- },
1235
- "core/audits/manual/pwa-page-transitions.js | description": {
1236
- "message": "การเปลี่ยนควรจะดำเนินไปอย่างรวดเร็วขณะที่คุณแตะไปรอบๆ แม้ในเครือข่ายที่ช้า ซึ่งเป็นสิ่งสำคัญที่ทำให้ผู้ใช้รับรู้ได้ถึงประสิทธิภาพ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนหน้า](https://developer.chrome.com/docs/lighthouse/pwa/pwa-page-transitions/)"
1237
- },
1238
- "core/audits/manual/pwa-page-transitions.js | title": {
1239
- "message": "เปลี่ยนหน้าได้รวดเร็วแม้ว่าเครือข่ายจะช้า"
1240
- },
1241
- "core/audits/maskable-icon.js | description": {
1242
- "message": "ไอคอนที่มาสก์ได้ช่วยให้รูปภาพแสดงขึ้นเต็มกรอบโดยไม่มีแถบปรากฏอยู่ตามขอบเมื่อติดตั้งแอปในอุปกรณ์ [ดูข้อมูลเกี่ยวกับไอคอนไฟล์ Manifest ที่มาสก์ได้](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit/)"
1243
- },
1244
- "core/audits/maskable-icon.js | failureTitle": {
1245
- "message": "ไฟล์ Manifest ไม่มีไอคอนที่มาสก์ได้"
1246
- },
1247
- "core/audits/maskable-icon.js | title": {
1248
- "message": "ไฟล์ Manifest มีไอคอนที่มาสก์ได้"
1249
- },
1250
1097
  "core/audits/metrics/cumulative-layout-shift.js | description": {
1251
1098
  "message": "การเปลี่ยนเลย์เอาต์สะสมจะวัดการเคลื่อนไหวขององค์ประกอบที่มองเห็นได้ภายในวิวพอร์ต [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Cumulative Layout Shift](https://web.dev/articles/cls)"
1252
1099
  },
@@ -1286,15 +1133,6 @@
1286
1133
  "core/audits/network-server-latency.js | title": {
1287
1134
  "message": "เวลาในการตอบสนองจากแบ็กเอนด์ของเซิร์ฟเวอร์"
1288
1135
  },
1289
- "core/audits/no-unload-listeners.js | description": {
1290
- "message": "เหตุการณ์ `unload` เริ่มทำงานโดยไม่มีความเสถียร และการ Listen อาจทำให้การเพิ่มประสิทธิภาพเบราว์เซอร์อย่าง Back-Forward Cache ไม่ทำงาน ใช้เหตุการณ์ `pagehide` หรือ `visibilitychange` แทน [ดูข้อมูลเพิ่มเติมเกี่ยวกับการยกเลิกการโหลด Listener เหตุการณ์](https://web.dev/articles/bfcache#never_use_the_unload_event)"
1291
- },
1292
- "core/audits/no-unload-listeners.js | failureTitle": {
1293
- "message": "ลงทะเบียน Listener `unload`"
1294
- },
1295
- "core/audits/no-unload-listeners.js | title": {
1296
- "message": "หลีกเลี่ยง Listener เหตุการณ์ `unload`"
1297
- },
1298
1136
  "core/audits/non-composited-animations.js | description": {
1299
1137
  "message": "ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite อาจมีคุณภาพต่ำและทำให้ CLS เพิ่มขึ้น [ดูวิธีหลีกเลี่ยงภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
1300
1138
  },
@@ -1322,15 +1160,6 @@
1322
1160
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1323
1161
  "message": "เอฟเฟกต์มีพารามิเตอร์การจับเวลาที่ไม่รองรับ"
1324
1162
  },
1325
- "core/audits/performance-budget.js | description": {
1326
- "message": "ควบคุมให้จำนวนและขนาดของคำขอเครือข่ายอยู่ภายในเป้าหมายที่กำหนดตามงบประมาณด้านประสิทธิภาพที่ให้มา [ดูข้อมูลเพิ่มเติมเกี่ยวกับงบประมาณด้านประสิทธิภาพ](https://developers.google.com/web/tools/lighthouse/audits/budgets)"
1327
- },
1328
- "core/audits/performance-budget.js | requestCountOverBudget": {
1329
- "message": "{count,plural, =1{1 คำขอ}other{# คำขอ}}"
1330
- },
1331
- "core/audits/performance-budget.js | title": {
1332
- "message": "งบประมาณประสิทธิภาพ"
1333
- },
1334
1163
  "core/audits/preload-fonts.js | description": {
1335
1164
  "message": "โหลดแบบอักษร `optional` ไว้ล่วงหน้าเพื่อให้ผู้เข้าชมครั้งแรกใช้ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลดแบบอักษรล่วงหน้า](https://web.dev/articles/preload-optional-fonts)"
1336
1165
  },
@@ -1481,15 +1310,6 @@
1481
1310
  "core/audits/seo/meta-description.js | title": {
1482
1311
  "message": "เอกสารมีคำอธิบายเมตา"
1483
1312
  },
1484
- "core/audits/seo/plugins.js | description": {
1485
- "message": "เครื่องมือค้นหาจัดทำดัชนีเนื้อหาปลั๊กอินไม่ได้ และอุปกรณ์จำนวนมากจำกัดการใช้หรือไม่รองรับปลั๊กอิน [ดูข้อมูลเพิ่มเติมเกี่ยวกับการหลีกเลี่ยงปลั๊กอิน](https://developer.chrome.com/docs/lighthouse/seo/plugins/)"
1486
- },
1487
- "core/audits/seo/plugins.js | failureTitle": {
1488
- "message": "เอกสารใช้ปลั๊กอิน"
1489
- },
1490
- "core/audits/seo/plugins.js | title": {
1491
- "message": "เอกสารหลีกเลี่ยงการใช้ปลั๊กอิน"
1492
- },
1493
1313
  "core/audits/seo/robots-txt.js | description": {
1494
1314
  "message": "หากไฟล์ robots.txt มีรูปแบบไม่ถูกต้อง Crawler อาจไม่เข้าใจวิธีที่คุณต้องการให้ Crawl หรือจัดทำดัชนีเว็บไซต์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับ robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)"
1495
1315
  },
@@ -1508,27 +1328,6 @@
1508
1328
  "core/audits/seo/robots-txt.js | title": {
1509
1329
  "message": "robots.txt ถูกต้อง"
1510
1330
  },
1511
- "core/audits/seo/tap-targets.js | description": {
1512
- "message": "องค์ประกอบสำหรับการโต้ตอบ เช่น ปุ่มและลิงก์ ต้องมีขนาดใหญ่พอ (48x48 พิกเซล) หรือมีพื้นที่ว่างโดยรอบมากพอเพื่อให้แตะได้ง่ายๆ โดยไม่ซ้อนทับกับองค์ประกอบอื่นๆ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายการแตะ](https://developer.chrome.com/docs/lighthouse/seo/tap-targets/)"
1513
- },
1514
- "core/audits/seo/tap-targets.js | displayValue": {
1515
- "message": "เป้าหมายการแตะที่มีขนาดเหมาะสม {decimalProportion, number, percent}"
1516
- },
1517
- "core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1518
- "message": "เป้าหมายการแตะมีขนาดเล็กเกินไปเพราะไม่มีเมตาแท็กวิวพอร์ตที่เพิ่มประสิทธิภาพให้เหมาะกับหน้าจออุปกรณ์เคลื่อนที่"
1519
- },
1520
- "core/audits/seo/tap-targets.js | failureTitle": {
1521
- "message": "เป้าหมายการแตะมีขนาดที่ไม่เหมาะสม"
1522
- },
1523
- "core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1524
- "message": "เป้าหมายซ้อนทับกัน"
1525
- },
1526
- "core/audits/seo/tap-targets.js | tapTargetHeader": {
1527
- "message": "เป้าหมายการแตะ"
1528
- },
1529
- "core/audits/seo/tap-targets.js | title": {
1530
- "message": "เป้าหมายการแตะมีขนาดที่เหมาะสม"
1531
- },
1532
1331
  "core/audits/server-response-time.js | description": {
1533
1332
  "message": "พยายามทำให้การตอบกลับของเซิร์ฟเวอร์สำหรับเอกสารหลักใช้เวลาน้อยเนื่องจากคำขออื่นทั้งหมดจะขึ้นอยู่กับเวลานี้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Time To First Byte](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)"
1534
1333
  },
@@ -1541,24 +1340,6 @@
1541
1340
  "core/audits/server-response-time.js | title": {
1542
1341
  "message": "การตอบกลับของเซิร์ฟเวอร์ขณะเริ่มแรกใช้เวลาน้อย"
1543
1342
  },
1544
- "core/audits/splash-screen.js | description": {
1545
- "message": "หน้าจอแนะนำที่มีธีมช่วยให้ผู้ใช้ได้รับประสบการณ์ที่มีคุณภาพสูงเมื่อเปิดแอปของคุณจากหน้าจอหลัก [ดูข้อมูลเพิ่มเติมเกี่ยวกับหน้าจอแนะนำ](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)"
1546
- },
1547
- "core/audits/splash-screen.js | failureTitle": {
1548
- "message": "ไม่ได้กำหนดค่าให้ใช้หน้าจอแนะนำที่กำหนดเอง"
1549
- },
1550
- "core/audits/splash-screen.js | title": {
1551
- "message": "มีการกำหนดค่าให้ใช้หน้าจอแนะนำที่กำหนดเอง"
1552
- },
1553
- "core/audits/themed-omnibox.js | description": {
1554
- "message": "คุณกำหนดธีมของแถบที่อยู่เบราว์เซอร์ให้เข้ากับเว็บไซต์ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดธีมแถบที่อยู่](https://developer.chrome.com/docs/lighthouse/pwa/themed-omnibox/)"
1555
- },
1556
- "core/audits/themed-omnibox.js | failureTitle": {
1557
- "message": "ไม่ได้กำหนดสีธีมสำหรับแถบที่อยู่"
1558
- },
1559
- "core/audits/themed-omnibox.js | title": {
1560
- "message": "กำหนดสีธีมของแถบที่อยู่"
1561
- },
1562
1343
  "core/audits/third-party-cookies.js | description": {
1563
1344
  "message": "เราจะหยุดรองรับคุกกี้ของบุคคลที่สามใน Chrome เวอร์ชันถัดไป [ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลิกใช้คุกกี้ของบุคคลที่สาม](https://developer.chrome.com/en/docs/privacy-sandbox/third-party-cookie-phase-out/)"
1564
1345
  },
@@ -1613,18 +1394,6 @@
1613
1394
  "core/audits/third-party-summary.js | title": {
1614
1395
  "message": "ลดการใช้ของบุคคลที่สาม"
1615
1396
  },
1616
- "core/audits/timing-budget.js | columnMeasurement": {
1617
- "message": "การวัด"
1618
- },
1619
- "core/audits/timing-budget.js | columnTimingMetric": {
1620
- "message": "เมตริก"
1621
- },
1622
- "core/audits/timing-budget.js | description": {
1623
- "message": "ตั้งงบประมาณด้านเวลาเพื่อช่วยดูประสิทธิภาพของเว็บไซต์ เว็บไซต์ที่มีประสิทธิภาพจะโหลดได้เร็วและตอบสนองต่อเหตุการณ์ที่เป็นอินพุตจากผู้ใช้ได้อย่างรวดเร็ว [ดูข้อมูลเพิ่มเติมเกี่ยวกับงบประมาณด้านประสิทธิภาพ](https://developers.google.com/web/tools/lighthouse/audits/budgets)"
1624
- },
1625
- "core/audits/timing-budget.js | title": {
1626
- "message": "งบประมาณด้านเวลา"
1627
- },
1628
1397
  "core/audits/unsized-images.js | description": {
1629
1398
  "message": "กำหนดความกว้างและความยาวขององค์ประกอบรูปภาพอย่างชัดเจนเพื่อลดการขยับของเลย์เอาต์และปรับปรุง CLS [ดูวิธีตั้งค่าขนาดรูปภาพ](https://web.dev/articles/optimize-cls#images_without_dimensions)"
1630
1399
  },
@@ -1718,8 +1487,8 @@
1718
1487
  "core/audits/work-during-interaction.js | presentationDelay": {
1719
1488
  "message": "ความล่าช้าของงานนำเสนอ"
1720
1489
  },
1721
- "core/audits/work-during-interaction.js | processingTime": {
1722
- "message": "ระยะเวลาดำเนินการ"
1490
+ "core/audits/work-during-interaction.js | processingDuration": {
1491
+ "message": "ระยะเวลาในการประมวลผล"
1723
1492
  },
1724
1493
  "core/audits/work-during-interaction.js | title": {
1725
1494
  "message": "ลดงานในระหว่างการโต้ตอบหลัก"
@@ -1796,12 +1565,6 @@
1796
1565
  "core/config/default-config.js | bestPracticesUXGroupTitle": {
1797
1566
  "message": "ประสบการณ์ของผู้ใช้"
1798
1567
  },
1799
- "core/config/default-config.js | budgetsGroupDescription": {
1800
- "message": "งบประมาณประสิทธิภาพจะใช้เป็นมาตรฐานสำหรับประสิทธิภาพของเว็บไซต์คุณ"
1801
- },
1802
- "core/config/default-config.js | budgetsGroupTitle": {
1803
- "message": "งบประมาณ"
1804
- },
1805
1568
  "core/config/default-config.js | diagnosticsGroupDescription": {
1806
1569
  "message": "ข้อมูลเพิ่มเติมเกี่ยวกับประสิทธิภาพของแอปพลิเคชัน ตัวเลขเหล่านี้ไม่[ส่งผลกระทบโดยตรง](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/)ต่อคะแนนประสิทธิภาพ"
1807
1570
  },
@@ -1814,12 +1577,6 @@
1814
1577
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1815
1578
  "message": "การปรับปรุงการแสดงผลครั้งแรก"
1816
1579
  },
1817
- "core/config/default-config.js | loadOpportunitiesGroupDescription": {
1818
- "message": "คำแนะนำเหล่านี้จะช่วยให้หน้าโหลดได้เร็วขึ้น โดยจะไม่[ส่งผลกระทบโดยตรง](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/)ต่อคะแนนประสิทธิภาพ"
1819
- },
1820
- "core/config/default-config.js | loadOpportunitiesGroupTitle": {
1821
- "message": "โอกาส"
1822
- },
1823
1580
  "core/config/default-config.js | metricGroupTitle": {
1824
1581
  "message": "เมตริก"
1825
1582
  },
@@ -1832,21 +1589,6 @@
1832
1589
  "core/config/default-config.js | performanceCategoryTitle": {
1833
1590
  "message": "ประสิทธิภาพ"
1834
1591
  },
1835
- "core/config/default-config.js | pwaCategoryDescription": {
1836
- "message": "การตรวจสอบเหล่านี้จะตรวจสอบลักษณะต่างๆ ของ Progressive Web App [ดูสิ่งที่จะช่วยทำให้เป็น Progressive Web App ที่ดี](https://web.dev/articles/pwa-checklist)"
1837
- },
1838
- "core/config/default-config.js | pwaCategoryManualDescription": {
1839
- "message": "การตรวจสอบเหล่านี้เป็นสิ่งที่ต้องทำใน[รายการตรวจสอบ PWA](https://web.dev/articles/pwa-checklist) ซึ่งเป็นเกณฑ์พื้นฐาน แต่ Lighthouse ไม่ได้ทำการตรวจสอบดังกล่าวโดยอัตโนมัติ การตรวจสอบจะไม่ส่งผลต่อคะแนนของคุณ แต่คุณควรตรวจสอบด้วยตนเอง"
1840
- },
1841
- "core/config/default-config.js | pwaCategoryTitle": {
1842
- "message": "PWA"
1843
- },
1844
- "core/config/default-config.js | pwaInstallableGroupTitle": {
1845
- "message": "ติดตั้งได้"
1846
- },
1847
- "core/config/default-config.js | pwaOptimizedGroupTitle": {
1848
- "message": "เพิ่มประสิทธิภาพ PWA แล้ว"
1849
- },
1850
1592
  "core/config/default-config.js | seoCategoryDescription": {
1851
1593
  "message": "การตรวจสอบเหล่านี้ช่วยให้มั่นใจว่าหน้าเว็บของคุณทำตามคำแนะนำพื้นฐานในการปรับแต่งเว็บไซต์ให้ติดอันดับบนเครื่องมือค้นหา มีปัจจัยอื่นๆ มากมายที่ Lighthouse ไม่ให้คะแนนไว้ที่นี่ซึ่งอาจส่งผลต่อการจัดอันดับการค้นหา รวมถึงประสิทธิภาพใน [Core Web Vitals](https://web.dev/explore/vitals) [ดูข้อมูลเพิ่มเติมเกี่ยวกับ Google Search Essentials](https://support.google.com/webmasters/answer/35769)"
1852
1594
  },
@@ -2516,9 +2258,6 @@
2516
2258
  "core/lib/i18n/i18n.js | columnName": {
2517
2259
  "message": "ชื่อ"
2518
2260
  },
2519
- "core/lib/i18n/i18n.js | columnOverBudget": {
2520
- "message": "เกินงบประมาณ"
2521
- },
2522
2261
  "core/lib/i18n/i18n.js | columnRequests": {
2523
2262
  "message": "คำขอ"
2524
2263
  },
@@ -2729,9 +2468,6 @@
2729
2468
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2730
2469
  "message": "ประสิทธิภาพ"
2731
2470
  },
2732
- "flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
2733
- "message": "Progressive Web App"
2734
- },
2735
2471
  "flow-report/src/i18n/ui-strings.js | categorySeo": {
2736
2472
  "message": "SEO"
2737
2473
  },
@@ -3398,9 +3134,6 @@
3398
3134
  "report/renderer/report-utils.js | passedAuditsGroupTitle": {
3399
3135
  "message": "การตรวจสอบที่ผ่านแล้ว"
3400
3136
  },
3401
- "report/renderer/report-utils.js | pwaRemovalMessage": {
3402
- "message": "Lighthouse จะเลิกใช้งานหมวดหมู่ PWA ในรุ่นถัดไปตาม[เกณฑ์ความสามารถในการติดตั้งฉบับปรับปรุงของ Chrome](https://developer.chrome.com/blog/update-install-criteria) โปรดดู[เอกสารประกอบของ PWA ฉบับปรับปรุง](https://developer.chrome.com/docs/devtools/progressive-web-apps/)สำหรับการทดสอบ PWA ในอนาคต"
3403
- },
3404
3137
  "report/renderer/report-utils.js | runtimeAnalysisWindow": {
3405
3138
  "message": "การโหลดหน้าเว็บเริ่มต้น"
3406
3139
  },