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": "As chaves de acesso permitem que os utilizadores se concentrem rapidamente numa parte da página. Para uma navegação adequada, cada token de acesso tem de ser exclusiva. [Saiba mais acerca das chaves de acesso](https://dequeuniversity.com/rules/axe/4.8/accesskeys)."
3
+ "message": "As chaves de acesso permitem que os utilizadores se concentrem rapidamente numa parte da página. Para uma navegação adequada, cada token de acesso tem de ser exclusiva. [Saiba mais acerca das chaves de acesso](https://dequeuniversity.com/rules/axe/4.9/accesskeys)."
4
4
  },
5
5
  "core/audits/accessibility/accesskeys.js | failureTitle": {
6
6
  "message": "Os valores `[accesskey]` não são exclusivos"
@@ -9,7 +9,7 @@
9
9
  "message": "Os valores `[accesskey]` são exclusivos"
10
10
  },
11
11
  "core/audits/accessibility/aria-allowed-attr.js | description": {
12
- "message": "Cada ARIA `role` suporta um subconjunto específico de atributos `aria-*`. A não correspondência destes invalida os atributos `aria-*`. [Saiba como corresponder os atributos ARIA às respetivas funções](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-attr)."
12
+ "message": "Cada ARIA `role` suporta um subconjunto específico de atributos `aria-*`. A não correspondência destes invalida os atributos `aria-*`. [Saiba como corresponder os atributos ARIA às respetivas funções](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": "Os atributos `[aria-*]` não correspondem às respetivas funções"
@@ -18,7 +18,7 @@
18
18
  "message": "Os atributos `[aria-*]` correspondem às respetivas funções"
19
19
  },
20
20
  "core/audits/accessibility/aria-allowed-role.js | description": {
21
- "message": "As funções ARIA `role`s permitem às tecnologias de assistência conhecer a função de cada elemento na página Web. Se os valores `role` não estiverem escritos corretamente, não existirem valores ARIA `role` ou existirem funções abstratas, a finalidade do elemento não é comunicada aos utilizadores de tecnologias de assistência. [Saiba mais sobre as funções ARIA](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-role)."
21
+ "message": "As funções ARIA `role`s permitem às tecnologias de assistência conhecer a função de cada elemento na página Web. Se os valores `role` não estiverem escritos corretamente, não existirem valores ARIA `role` ou existirem funções abstratas, a finalidade do elemento não é comunicada aos utilizadores de tecnologias de assistência. [Saiba mais sobre as funções 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": "Os valores atribuídos a `role=\"\"` não são funções ARIA válidas."
@@ -27,7 +27,7 @@
27
27
  "message": "Os valores atribuídos a `role=\"\"` são funções ARIA válidas."
28
28
  },
29
29
  "core/audits/accessibility/aria-command-name.js | description": {
30
- "message": "Quando um elemento não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como tornar os elementos de comandos mais acessíveis](https://dequeuniversity.com/rules/axe/4.8/aria-command-name)."
30
+ "message": "Quando um elemento não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como tornar os elementos de comandos mais acessíveis](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": "Os elementos `button`, `link` e `menuitem` não têm nomes acessíveis"
@@ -36,7 +36,7 @@
36
36
  "message": "Os elementos `button`, `link` e `menuitem` têm nomes acessíveis"
37
37
  },
38
38
  "core/audits/accessibility/aria-dialog-name.js | description": {
39
- "message": "Os elementos da caixa de diálogo ARIA sem nomes acessíveis podem impedir os utilizadores de leitores de ecrã de perceberem a finalidade destes elementos. [Saiba como tornar os elementos da caixa de diálogo ARIA mais acessíveis](https://dequeuniversity.com/rules/axe/4.8/aria-dialog-name)."
39
+ "message": "Os elementos da caixa de diálogo ARIA sem nomes acessíveis podem impedir os utilizadores de leitores de ecrã de perceberem a finalidade destes elementos. [Saiba como tornar os elementos da caixa de diálogo ARIA mais acessíveis](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": "Os elementos com `role=\"dialog\"` ou `role=\"alertdialog\"` não têm nomes acessíveis."
@@ -45,7 +45,7 @@
45
45
  "message": "Os elementos com `role=\"dialog\"` ou `role=\"alertdialog\"` têm nomes acessíveis."
46
46
  },
47
47
  "core/audits/accessibility/aria-hidden-body.js | description": {
48
- "message": "As tecnologias de assistência, que incluem os leitores de ecrã, funcionam de forma inconsistente quando `aria-hidden=\"true\"` está definido no `<body>` do documento. [Saiba como o `aria-hidden` afeta o corpo do documento](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-body)."
48
+ "message": "As tecnologias de assistência, que incluem os leitores de ecrã, funcionam de forma inconsistente quando `aria-hidden=\"true\"` está definido no `<body>` do documento. [Saiba como o `aria-hidden` afeta o corpo do documento](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\"]` está presente no `<body>` do documento"
@@ -54,7 +54,7 @@
54
54
  "message": "`[aria-hidden=\"true\"]` não está presente no `<body>` do documento"
55
55
  },
56
56
  "core/audits/accessibility/aria-hidden-focus.js | description": {
57
- "message": "Os descendentes focalizáveis de um elemento `[aria-hidden=\"true\"]` impedem que esses elementos interativos fiquem disponíveis para os utilizadores de tecnologias de assistência, como leitores de ecrã. [Saiba como o atributo `aria-hidden` afeta os elementos focalizáveis](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-focus)."
57
+ "message": "Os descendentes focalizáveis de um elemento `[aria-hidden=\"true\"]` impedem que esses elementos interativos fiquem disponíveis para os utilizadores de tecnologias de assistência, como leitores de ecrã. [Saiba como o atributo `aria-hidden` afeta os elementos focalizáveis](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": "Os elementos `[aria-hidden=\"true\"]` contêm descendentes focáveis"
@@ -63,7 +63,7 @@
63
63
  "message": "Os elementos `[aria-hidden=\"true\"]` não contêm descendentes focáveis"
64
64
  },
65
65
  "core/audits/accessibility/aria-input-field-name.js | description": {
66
- "message": "Quando um campo de entrada não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca das etiquetas de campos de entrada](https://dequeuniversity.com/rules/axe/4.8/aria-input-field-name)."
66
+ "message": "Quando um campo de entrada não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca das etiquetas de campos de entrada](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": "Os campos de entrada ARIA não têm nomes acessíveis"
@@ -72,7 +72,7 @@
72
72
  "message": "Os campos de entrada ARIA têm nomes acessíveis"
73
73
  },
74
74
  "core/audits/accessibility/aria-meter-name.js | description": {
75
- "message": "Quando um elemento de contador não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como atribuir um nome a elementos `meter`](https://dequeuniversity.com/rules/axe/4.8/aria-meter-name)."
75
+ "message": "Quando um elemento de contador não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como atribuir um nome a elementos `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": "Os elementos `meter` ARIA não têm nomes acessíveis"
@@ -81,7 +81,7 @@
81
81
  "message": "Os elementos `meter` ARIA têm nomes acessíveis"
82
82
  },
83
83
  "core/audits/accessibility/aria-progressbar-name.js | description": {
84
- "message": "Quando um elemento `progressbar` não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como etiquetar elementos `progressbar`](https://dequeuniversity.com/rules/axe/4.8/aria-progressbar-name)."
84
+ "message": "Quando um elemento `progressbar` não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como etiquetar elementos `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": "Os elementos `progressbar` ARIA não têm nomes acessíveis"
@@ -90,7 +90,7 @@
90
90
  "message": "Os elementos `progressbar` ARIA têm nomes acessíveis"
91
91
  },
92
92
  "core/audits/accessibility/aria-required-attr.js | description": {
93
- "message": "Algumas funções ARIA têm atributos obrigatórios que descrevem o estado do elemento para os leitores de ecrã. [Saiba mais acerca das funções e dos atributos obrigatórios](https://dequeuniversity.com/rules/axe/4.8/aria-required-attr)."
93
+ "message": "Algumas funções ARIA têm atributos obrigatórios que descrevem o estado do elemento para os leitores de ecrã. [Saiba mais acerca das funções e dos atributos obrigatórios](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": "Os `[role]`s não têm todos os atributos `[aria-*]` obrigatórios"
@@ -99,7 +99,7 @@
99
99
  "message": "Os `[role]`s têm todos os atributos `[aria-*]` obrigatórios"
100
100
  },
101
101
  "core/audits/accessibility/aria-required-children.js | description": {
102
- "message": "Algumas funções superiores ARIA têm de conter funções secundárias específicas para desempenhar as respetivas funções de acessibilidade previstas. [Saiba mais acerca das funções e dos elementos secundários obrigatórios](https://dequeuniversity.com/rules/axe/4.8/aria-required-children)."
102
+ "message": "Algumas funções superiores ARIA têm de conter funções secundárias específicas para desempenhar as respetivas funções de acessibilidade previstas. [Saiba mais acerca das funções e dos elementos secundários obrigatórios](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": "Os elementos com um `[role]` ARIA que requerem que os elementos secundários contenham um `[role]` específico têm alguns ou todos esses elementos secundários requeridos em falta."
@@ -108,7 +108,7 @@
108
108
  "message": "Os elementos com um `[role]` ARIA que requerem que os elementos secundários contenham um `[role]` específico têm todos os elementos secundários requeridos."
109
109
  },
110
110
  "core/audits/accessibility/aria-required-parent.js | description": {
111
- "message": "Algumas funções secundárias ARIA têm de ser contidas por funções superiores específicas para desempenharem adequadamente as respetivas funções de acessibilidade previstas. [Saiba mais acerca das funções ARIA e do elemento superior necessário](https://dequeuniversity.com/rules/axe/4.8/aria-required-parent)."
111
+ "message": "Algumas funções secundárias ARIA têm de ser contidas por funções superiores específicas para desempenharem adequadamente as respetivas funções de acessibilidade previstas. [Saiba mais acerca das funções ARIA e do elemento superior necessário](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": "Os `[role]`s não são contidos pelo respetivo elemento superior obrigatório"
@@ -117,7 +117,7 @@
117
117
  "message": "Os `[role]`s são contidos pelo respetivo elemento superior obrigatório"
118
118
  },
119
119
  "core/audits/accessibility/aria-roles.js | description": {
120
- "message": "As funções ARIA têm de possuir valores válidos para desempenhar as funções de acessibilidade previstas. [Saiba mais acerca das funções ARIA válidas](https://dequeuniversity.com/rules/axe/4.8/aria-roles)."
120
+ "message": "As funções ARIA têm de possuir valores válidos para desempenhar as funções de acessibilidade previstas. [Saiba mais acerca das funções ARIA válidas](https://dequeuniversity.com/rules/axe/4.9/aria-roles)."
121
121
  },
122
122
  "core/audits/accessibility/aria-roles.js | failureTitle": {
123
123
  "message": "Os valores `[role]` não são válidos"
@@ -126,7 +126,7 @@
126
126
  "message": "Os valores `[role]` são válidos"
127
127
  },
128
128
  "core/audits/accessibility/aria-text.js | description": {
129
- "message": "Adicionar `role=text` à volta de um nó de texto dividido por marcação permite que o VoiceOver o trate como uma expressão, mas os descendentes focalizáveis do elemento não são anunciados. [Saiba mais acerca do atributo `role=text`](https://dequeuniversity.com/rules/axe/4.8/aria-text)."
129
+ "message": "Adicionar `role=text` à volta de um nó de texto dividido por marcação permite que o VoiceOver o trate como uma expressão, mas os descendentes focalizáveis do elemento não são anunciados. [Saiba mais acerca do atributo `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": "Os elementos com o atributo `role=text` têm descendentes focalizáveis."
@@ -135,7 +135,7 @@
135
135
  "message": "Os elementos com o atributo `role=text` não têm descendentes focalizáveis."
136
136
  },
137
137
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
138
- "message": "Quando um campo ativar/desativar não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca dos campos ativar/desativar](https://dequeuniversity.com/rules/axe/4.8/aria-toggle-field-name)."
138
+ "message": "Quando um campo ativar/desativar não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca dos campos ativar/desativar](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": "Os campos ativar/desativar ARIA não têm nomes acessíveis"
@@ -144,7 +144,7 @@
144
144
  "message": "Os campos ativar/desativar ARIA têm nomes acessíveis"
145
145
  },
146
146
  "core/audits/accessibility/aria-tooltip-name.js | description": {
147
- "message": "Quando um elemento de sugestão não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como atribuir um nome a elementos `tooltip`](https://dequeuniversity.com/rules/axe/4.8/aria-tooltip-name)."
147
+ "message": "Quando um elemento de sugestão não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como atribuir um nome a elementos `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": "Os elementos `tooltip` ARIA não têm nomes acessíveis"
@@ -153,7 +153,7 @@
153
153
  "message": "Os elementos `tooltip` ARIA têm nomes acessíveis"
154
154
  },
155
155
  "core/audits/accessibility/aria-treeitem-name.js | description": {
156
- "message": "Quando um elemento `treeitem` não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca da etiquetagem de elementos `treeitem`](https://dequeuniversity.com/rules/axe/4.8/aria-treeitem-name)."
156
+ "message": "Quando um elemento `treeitem` não tem um nome acessível, os leitores de ecrã anunciam-no com um nome genérico, tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba mais acerca da etiquetagem de elementos `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": "Os elementos `treeitem` ARIA não têm nomes acessíveis"
@@ -162,7 +162,7 @@
162
162
  "message": "Os elementos `treeitem` ARIA têm nomes acessíveis"
163
163
  },
164
164
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
165
- "message": "As tecnologias de assistência, que incluem os leitores de ecrã, não conseguem interpretar atributos ARIA com valores inválidos. [Saiba mais acerca dos valores válidos para os atributos ARIA](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr-value)."
165
+ "message": "As tecnologias de assistência, que incluem os leitores de ecrã, não conseguem interpretar atributos ARIA com valores inválidos. [Saiba mais acerca dos valores válidos para os atributos 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": "Os atributos `[aria-*]` não têm valores válidos"
@@ -171,7 +171,7 @@
171
171
  "message": "Os atributos `[aria-*]` têm valores válidos"
172
172
  },
173
173
  "core/audits/accessibility/aria-valid-attr.js | description": {
174
- "message": "As tecnologias de assistência, que incluem os leitores de ecrã, não conseguem interpretar atributos ARIA com nomes inválidos. [Saiba mais acerca dos atributos ARIA válidos](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr)."
174
+ "message": "As tecnologias de assistência, que incluem os leitores de ecrã, não conseguem interpretar atributos ARIA com nomes inválidos. [Saiba mais acerca dos atributos ARIA válidos](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": "Os atributos `[aria-*]` não são válidos ou têm erros ortográficos"
@@ -183,7 +183,7 @@
183
183
  "message": "Elementos reprovados"
184
184
  },
185
185
  "core/audits/accessibility/button-name.js | description": {
186
- "message": "Quando um botão não tem um nome acessível, os leitores de ecrã anunciam-no como \"botão\", tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como tornar os botões mais acessíveis](https://dequeuniversity.com/rules/axe/4.8/button-name)."
186
+ "message": "Quando um botão não tem um nome acessível, os leitores de ecrã anunciam-no como \"botão\", tornando-o inutilizável para os utilizadores que dependem de leitores de ecrã. [Saiba como tornar os botões mais acessíveis](https://dequeuniversity.com/rules/axe/4.9/button-name)."
187
187
  },
188
188
  "core/audits/accessibility/button-name.js | failureTitle": {
189
189
  "message": "Os botões não têm um nome acessível"
@@ -192,7 +192,7 @@
192
192
  "message": "Os botões têm um nome acessível"
193
193
  },
194
194
  "core/audits/accessibility/bypass.js | description": {
195
- "message": "Adicionar formas de ignorar conteúdo repetitivo permite que os utilizadores com teclado naveguem na página de forma mais eficiente. [Saiba mais acerca dos blocos para ignorar](https://dequeuniversity.com/rules/axe/4.8/bypass)."
195
+ "message": "Adicionar formas de ignorar conteúdo repetitivo permite que os utilizadores com teclado naveguem na página de forma mais eficiente. [Saiba mais acerca dos blocos para ignorar](https://dequeuniversity.com/rules/axe/4.9/bypass)."
196
196
  },
197
197
  "core/audits/accessibility/bypass.js | failureTitle": {
198
198
  "message": "A página não contém um título, um link para ignorar ou uma região de ponto de referência"
@@ -201,7 +201,7 @@
201
201
  "message": "A página contém um título, um link para ignorar ou uma região de ponto de referência"
202
202
  },
203
203
  "core/audits/accessibility/color-contrast.js | description": {
204
- "message": "O texto de baixo contraste é difícil ou impossível de ler para muitos utilizadores. [Saiba como criar um contraste de cor suficiente](https://dequeuniversity.com/rules/axe/4.8/color-contrast)."
204
+ "message": "O texto de baixo contraste é difícil ou impossível de ler para muitos utilizadores. [Saiba como criar um contraste de cor suficiente](https://dequeuniversity.com/rules/axe/4.9/color-contrast)."
205
205
  },
206
206
  "core/audits/accessibility/color-contrast.js | failureTitle": {
207
207
  "message": "As cores de primeiro e de segundo plano não têm uma relação de contraste suficiente"
@@ -210,7 +210,7 @@
210
210
  "message": "As cores de segundo plano e de primeiro plano têm uma relação de contraste suficiente"
211
211
  },
212
212
  "core/audits/accessibility/definition-list.js | description": {
213
- "message": "Quando as listas de definição não estão devidamente marcadas, os leitores de ecrã podem produzir um resultado confuso ou impreciso. [Saiba como estruturar corretamente listas de definições](https://dequeuniversity.com/rules/axe/4.8/definition-list)."
213
+ "message": "Quando as listas de definição não estão devidamente marcadas, os leitores de ecrã podem produzir um resultado confuso ou impreciso. [Saiba como estruturar corretamente listas de definições](https://dequeuniversity.com/rules/axe/4.9/definition-list)."
214
214
  },
215
215
  "core/audits/accessibility/definition-list.js | failureTitle": {
216
216
  "message": "Os `<dl>`s não contêm apenas grupos de `<dt>` e `<dd>` devidamente ordenados, nem elementos `<script>`, `<template>` ou `<div>`."
@@ -219,7 +219,7 @@
219
219
  "message": "Os `<dl>`s contêm apenas grupos de `<dt>` e `<dd>` devidamente ordenados e elementos `<script>`, `<template>` ou `<div>`."
220
220
  },
221
221
  "core/audits/accessibility/dlitem.js | description": {
222
- "message": "Os itens de lista de definição (`<dt>` e `<dd>`) têm de estar unidos num elemento `<dl>` superior de modo a garantir que os leitores de ecrã os possam anunciar adequadamente. [Saiba como estruturar corretamente listas de definições](https://dequeuniversity.com/rules/axe/4.8/dlitem)."
222
+ "message": "Os itens de lista de definição (`<dt>` e `<dd>`) têm de estar unidos num elemento `<dl>` superior de modo a garantir que os leitores de ecrã os possam anunciar adequadamente. [Saiba como estruturar corretamente listas de definições](https://dequeuniversity.com/rules/axe/4.9/dlitem)."
223
223
  },
224
224
  "core/audits/accessibility/dlitem.js | failureTitle": {
225
225
  "message": "Os itens de lista de definição não estão unidos em elementos `<dl>`"
@@ -228,7 +228,7 @@
228
228
  "message": "Os itens de lista de definição estão unidos em elementos `<dl>`"
229
229
  },
230
230
  "core/audits/accessibility/document-title.js | description": {
231
- "message": "O título proporciona aos utilizadores de leitores de ecrã uma vista geral da página, sendo que os utilizadores de motores de pesquisa dependem dele para determinar se uma página é relevante para a respetiva pesquisa. [Saiba mais acerca dos títulos de documentos](https://dequeuniversity.com/rules/axe/4.8/document-title)."
231
+ "message": "O título proporciona aos utilizadores de leitores de ecrã uma vista geral da página, sendo que os utilizadores de motores de pesquisa dependem dele para determinar se uma página é relevante para a respetiva pesquisa. [Saiba mais acerca dos títulos de documentos](https://dequeuniversity.com/rules/axe/4.9/document-title)."
232
232
  },
233
233
  "core/audits/accessibility/document-title.js | failureTitle": {
234
234
  "message": "O documento não tem um elemento `<title>`"
@@ -236,17 +236,8 @@
236
236
  "core/audits/accessibility/document-title.js | title": {
237
237
  "message": "O documento tem um elemento `<title>`"
238
238
  },
239
- "core/audits/accessibility/duplicate-id-active.js | description": {
240
- "message": "Todos os elementos focalizáveis têm de ter um `id` exclusivo para garantir que são visíveis para as tecnologias de assistência. [Saiba como corrigir `id`s duplicados](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-active)."
241
- },
242
- "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
243
- "message": "Os atributos `[id]` nos elementos ativos e focáveis não são exclusivos"
244
- },
245
- "core/audits/accessibility/duplicate-id-active.js | title": {
246
- "message": "Os atributos `[id]` nos elementos ativos e focáveis são exclusivos"
247
- },
248
239
  "core/audits/accessibility/duplicate-id-aria.js | description": {
249
- "message": "O valor de um ID ARIA tem de ser exclusivo para evitar que outras instâncias sejam ignoradas pelas tecnologias de assistência. [Saiba como corrigir IDs ARIA duplicados](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-aria)."
240
+ "message": "O valor de um ID ARIA tem de ser exclusivo para evitar que outras instâncias sejam ignoradas pelas tecnologias de assistência. [Saiba como corrigir IDs ARIA duplicados](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": "Os ID ARIA não são exclusivos"
@@ -255,7 +246,7 @@
255
246
  "message": "Os IDs ARIA são exclusivos"
256
247
  },
257
248
  "core/audits/accessibility/empty-heading.js | description": {
258
- "message": "Um título sem conteúdo ou com texto inacessível impede os utilizadores de leitores de ecrã de acederem a informações sobre a estrutura da página. [Saiba mais acerca dos títulos](https://dequeuniversity.com/rules/axe/4.8/empty-heading)."
249
+ "message": "Um título sem conteúdo ou com texto inacessível impede os utilizadores de leitores de ecrã de acederem a informações sobre a estrutura da página. [Saiba mais acerca dos títulos](https://dequeuniversity.com/rules/axe/4.9/empty-heading)."
259
250
  },
260
251
  "core/audits/accessibility/empty-heading.js | failureTitle": {
261
252
  "message": "Os elementos do título não têm conteúdo."
@@ -264,7 +255,7 @@
264
255
  "message": "Todos os elementos de título têm conteúdo."
265
256
  },
266
257
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
267
- "message": "Os campos de formulários com várias etiquetas podem ser anunciados de forma confusa por tecnologias de assistência, como leitores de ecrã que usam a primeira, a última ou todas as etiquetas. [Saiba como usar etiquetas de formulários](https://dequeuniversity.com/rules/axe/4.8/form-field-multiple-labels)."
258
+ "message": "Os campos de formulários com várias etiquetas podem ser anunciados de forma confusa por tecnologias de assistência, como leitores de ecrã que usam a primeira, a última ou todas as etiquetas. [Saiba como usar etiquetas de formulários](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": "Os campos do formulário contêm várias etiquetas"
@@ -273,7 +264,7 @@
273
264
  "message": "Nenhum campo do formulário contém várias etiquetas"
274
265
  },
275
266
  "core/audits/accessibility/frame-title.js | description": {
276
- "message": "Os utilizadores com leitores de ecrã dependem dos títulos de frames para descrever o conteúdo dos frames. [Saiba mais acerca dos títulos de frames](https://dequeuniversity.com/rules/axe/4.8/frame-title)."
267
+ "message": "Os utilizadores com leitores de ecrã dependem dos títulos de frames para descrever o conteúdo dos frames. [Saiba mais acerca dos títulos de frames](https://dequeuniversity.com/rules/axe/4.9/frame-title)."
277
268
  },
278
269
  "core/audits/accessibility/frame-title.js | failureTitle": {
279
270
  "message": "Os elementos `<frame>` ou `<iframe>` não têm um título"
@@ -282,7 +273,7 @@
282
273
  "message": "Os elementos `<frame>` ou `<iframe>` têm um título"
283
274
  },
284
275
  "core/audits/accessibility/heading-order.js | description": {
285
- "message": "Os títulos devidamente ordenados que não ignoram níveis transmitem a estrutura semântica da página, facilitando a navegação e a compreensão ao usar tecnologias de assistência. [Saiba mais acerca da ordem dos títulos](https://dequeuniversity.com/rules/axe/4.8/heading-order)."
276
+ "message": "Os títulos devidamente ordenados que não ignoram níveis transmitem a estrutura semântica da página, facilitando a navegação e a compreensão ao usar tecnologias de assistência. [Saiba mais acerca da ordem dos títulos](https://dequeuniversity.com/rules/axe/4.9/heading-order)."
286
277
  },
287
278
  "core/audits/accessibility/heading-order.js | failureTitle": {
288
279
  "message": "Os elementos do título não se encontram numa ordem sequencialmente decrescente"
@@ -291,7 +282,7 @@
291
282
  "message": "Os elementos do título encontram-se numa ordem sequencialmente decrescente"
292
283
  },
293
284
  "core/audits/accessibility/html-has-lang.js | description": {
294
- "message": "Se uma página não especificar um atributo `lang`, um leitor de ecrã parte do princípio de que a página está no idioma predefinido que o utilizador escolheu quando configurou o leitor de ecrã. Se a página não estiver realmente no idioma predefinido, o leitor de ecrã pode não anunciar corretamente o texto da página. [Saiba mais acerca do atributo `lang`](https://dequeuniversity.com/rules/axe/4.8/html-has-lang)."
285
+ "message": "Se uma página não especificar um atributo `lang`, um leitor de ecrã parte do princípio de que a página está no idioma predefinido que o utilizador escolheu quando configurou o leitor de ecrã. Se a página não estiver realmente no idioma predefinido, o leitor de ecrã pode não anunciar corretamente o texto da página. [Saiba mais acerca do atributo `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": "O elemento `<html>` não tem um atributo `[lang]`"
@@ -300,7 +291,7 @@
300
291
  "message": "O elemento `<html>` tem um atributo `[lang]`"
301
292
  },
302
293
  "core/audits/accessibility/html-lang-valid.js | description": {
303
- "message": "Especificar um [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido ajuda os leitores de ecrã a anunciar texto adequadamente. [Saiba como usar o atributo `lang`](https://dequeuniversity.com/rules/axe/4.8/html-lang-valid)."
294
+ "message": "Especificar um [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido ajuda os leitores de ecrã a anunciar texto adequadamente. [Saiba como usar o atributo `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": "O elemento `<html>` tem um valor válido para o respetivo atributo `[lang]`."
@@ -309,7 +300,7 @@
309
300
  "message": "O elemento `<html>` tem um valor válido para o respetivo atributo `[lang]`"
310
301
  },
311
302
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
312
- "message": "Se a página Web não especificar um idioma consistente, o leitor de ecrã pode não anunciar o texto da página corretamente. [Saiba mais acerca do atributo `lang`](https://dequeuniversity.com/rules/axe/4.8/html-xml-lang-mismatch)."
303
+ "message": "Se a página Web não especificar um idioma consistente, o leitor de ecrã pode não anunciar o texto da página corretamente. [Saiba mais acerca do atributo `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": "O elemento `<html>` não tem um atributo `[xml:lang]` com o mesmo idioma base que o atributo `[lang]`."
@@ -318,7 +309,7 @@
318
309
  "message": "O elemento `<html>` tem um atributo `[xml:lang]` com o mesmo idioma base que o atributo `[lang]`."
319
310
  },
320
311
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
321
- "message": "Os links com o mesmo destino devem ter a mesma descrição para ajudar os utilizadores a compreenderem o objetivo do link e decidirem se o devem seguir. [Saiba mais acerca dos links idênticos](https://dequeuniversity.com/rules/axe/4.8/identical-links-same-purpose)."
312
+ "message": "Os links com o mesmo destino devem ter a mesma descrição para ajudar os utilizadores a compreenderem o objetivo do link e decidirem se o devem seguir. [Saiba mais acerca dos links idênticos](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": "Os links idênticos não têm a mesma finalidade."
@@ -327,7 +318,7 @@
327
318
  "message": "Os links idênticos têm a mesma finalidade."
328
319
  },
329
320
  "core/audits/accessibility/image-alt.js | description": {
330
- "message": "Os elementos informativos devem procurar incluir texto curto, descritivo e alternativo. Os elementos decorativos podem ser ignorados com um atributo alternativo vazio. [Saiba mais acerca do atributo `alt`](https://dequeuniversity.com/rules/axe/4.8/image-alt)."
321
+ "message": "Os elementos informativos devem procurar incluir texto curto, descritivo e alternativo. Os elementos decorativos podem ser ignorados com um atributo alternativo vazio. [Saiba mais acerca do atributo `alt`](https://dequeuniversity.com/rules/axe/4.9/image-alt)."
331
322
  },
332
323
  "core/audits/accessibility/image-alt.js | failureTitle": {
333
324
  "message": "Os elementos de imagem não têm atributos `[alt]`"
@@ -336,7 +327,7 @@
336
327
  "message": "Os elementos de imagem têm atributos `[alt]`"
337
328
  },
338
329
  "core/audits/accessibility/image-redundant-alt.js | description": {
339
- "message": "Os elementos informativos devem procurar incluir texto curto, descritivo e alternativo. O texto alternativo, que é exatamente igual ao texto adjacente ao link ou à imagem, é potencialmente confuso para os utilizadores de leitores de ecrã, uma vez que o texto é lido duas vezes. [Saiba mais acerca do atributo `alt`](https://dequeuniversity.com/rules/axe/4.8/image-redundant-alt)."
330
+ "message": "Os elementos informativos devem procurar incluir texto curto, descritivo e alternativo. O texto alternativo, que é exatamente igual ao texto adjacente ao link ou à imagem, é potencialmente confuso para os utilizadores de leitores de ecrã, uma vez que o texto é lido duas vezes. [Saiba mais acerca do atributo `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": "Os elementos de imagem têm atributos `[alt]` que são texto redundante."
@@ -345,7 +336,7 @@
345
336
  "message": "Os elementos de imagem não têm atributos `[alt]` que são texto redundante."
346
337
  },
347
338
  "core/audits/accessibility/input-button-name.js | description": {
348
- "message": "Adicionar texto percetível e acessível aos botões de entrada pode ajudar os utilizadores de leitores de ecrã a compreender a finalidade do botão de entrada. [Saiba mais acerca dos botões de entrada](https://dequeuniversity.com/rules/axe/4.8/input-button-name)."
339
+ "message": "Adicionar texto percetível e acessível aos botões de entrada pode ajudar os utilizadores de leitores de ecrã a compreender a finalidade do botão de entrada. [Saiba mais acerca dos botões de entrada](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": "Os botões de entrada não têm texto percetível."
@@ -354,7 +345,7 @@
354
345
  "message": "Os botões de entrada têm texto percetível."
355
346
  },
356
347
  "core/audits/accessibility/input-image-alt.js | description": {
357
- "message": "Quando uma imagem está a ser usada como um botão `<input>`, facultar texto alternativo pode ajudar os utilizadores de leitores de ecrã a compreender a finalidade do botão. [Saiba mais acerca do texto alternativo da imagem de entrada](https://dequeuniversity.com/rules/axe/4.8/input-image-alt)."
348
+ "message": "Quando uma imagem está a ser usada como um botão `<input>`, facultar texto alternativo pode ajudar os utilizadores de leitores de ecrã a compreender a finalidade do botão. [Saiba mais acerca do texto alternativo da imagem de entrada](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": "Os elementos `<input type=\"image\">` não têm texto `[alt]`"
@@ -363,7 +354,7 @@
363
354
  "message": "Os elementos `<input type=\"image\">` têm texto `[alt]`"
364
355
  },
365
356
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
366
- "message": "As etiquetas de texto visíveis que não correspondam ao nome acessível podem resultar numa experiência confusa para os utilizadores de leitores de ecrã. [Saiba mais sobre os nomes acessíveis](https://dequeuniversity.com/rules/axe/4.8/label-content-name-mismatch)."
357
+ "message": "As etiquetas de texto visíveis que não correspondam ao nome acessível podem resultar numa experiência confusa para os utilizadores de leitores de ecrã. [Saiba mais sobre os nomes acessíveis](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": "Os elementos com etiquetas de texto visíveis não têm nomes acessíveis correspondentes."
@@ -372,7 +363,7 @@
372
363
  "message": "Os elementos com etiquetas de texto visíveis têm nomes acessíveis correspondentes."
373
364
  },
374
365
  "core/audits/accessibility/label.js | description": {
375
- "message": "As etiquetas garantem que os controlos de formulários são anunciados adequadamente pelas tecnologias de assistência, que incluem os leitores de ecrã. [Saiba mais acerca das etiquetas de elementos de formulários](https://dequeuniversity.com/rules/axe/4.8/label)."
366
+ "message": "As etiquetas garantem que os controlos de formulários são anunciados adequadamente pelas tecnologias de assistência, que incluem os leitores de ecrã. [Saiba mais acerca das etiquetas de elementos de formulários](https://dequeuniversity.com/rules/axe/4.9/label)."
376
367
  },
377
368
  "core/audits/accessibility/label.js | failureTitle": {
378
369
  "message": "Os elementos de formulário não têm etiquetas associadas"
@@ -381,7 +372,7 @@
381
372
  "message": "Os elementos de formulário têm etiquetas associadas"
382
373
  },
383
374
  "core/audits/accessibility/landmark-one-main.js | description": {
384
- "message": "Um ponto de referência principal ajuda os utilizadores de leitores de ecrã a navegar numa página Web. [Saiba mais sobre pontos de referência](https://dequeuniversity.com/rules/axe/4.8/landmark-one-main)."
375
+ "message": "Um ponto de referência principal ajuda os utilizadores de leitores de ecrã a navegar numa página Web. [Saiba mais sobre pontos de referência](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": "O documento não tem um ponto de referência principal."
@@ -390,7 +381,7 @@
390
381
  "message": "O documento tem um ponto de referência principal."
391
382
  },
392
383
  "core/audits/accessibility/link-in-text-block.js | description": {
393
- "message": "O texto de baixo contraste é difícil ou impossível de ler para muitos utilizadores. O texto do link percetível melhora a experiência dos utilizadores com visão reduzida. [Saiba como tornar os links distinguíveis](https://dequeuniversity.com/rules/axe/4.8/link-in-text-block)."
384
+ "message": "O texto de baixo contraste é difícil ou impossível de ler para muitos utilizadores. O texto do link percetível melhora a experiência dos utilizadores com visão reduzida. [Saiba como tornar os links distinguíveis](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": "Os links dependem da cor para serem distinguíveis."
@@ -399,7 +390,7 @@
399
390
  "message": "Os links são distinguíveis sem depender da cor."
400
391
  },
401
392
  "core/audits/accessibility/link-name.js | description": {
402
- "message": "O texto de link (e texto alternativo para imagens, quando usado como link) que seja percetível, exclusivo e focalizável melhora a experiência de navegação dos utilizadores de leitores de ecrã. [Saiba como tornar os links acessíveis](https://dequeuniversity.com/rules/axe/4.8/link-name)."
393
+ "message": "O texto de link (e texto alternativo para imagens, quando usado como link) que seja percetível, exclusivo e focalizável melhora a experiência de navegação dos utilizadores de leitores de ecrã. [Saiba como tornar os links acessíveis](https://dequeuniversity.com/rules/axe/4.9/link-name)."
403
394
  },
404
395
  "core/audits/accessibility/link-name.js | failureTitle": {
405
396
  "message": "Os links não têm um nome percetível"
@@ -408,7 +399,7 @@
408
399
  "message": "Os links têm um nome percetível"
409
400
  },
410
401
  "core/audits/accessibility/list.js | description": {
411
- "message": "Os leitores de ecrã têm uma forma específica de anunciar listas. Garantir uma estrutura de listas adequada é benéfico para o resultado do leitor de ecrã. [Saiba mais acerca da estrutura de listas adequada](https://dequeuniversity.com/rules/axe/4.8/list)."
402
+ "message": "Os leitores de ecrã têm uma forma específica de anunciar listas. Garantir uma estrutura de listas adequada é benéfico para o resultado do leitor de ecrã. [Saiba mais acerca da estrutura de listas adequada](https://dequeuniversity.com/rules/axe/4.9/list)."
412
403
  },
413
404
  "core/audits/accessibility/list.js | failureTitle": {
414
405
  "message": "As listas não contêm apenas elementos `<li>` e elementos de suporte de script (`<script>` e `<template>`)."
@@ -417,7 +408,7 @@
417
408
  "message": "As listas contêm apenas elementos `<li>` e elementos de suporte de script (`<script>` e `<template>`)."
418
409
  },
419
410
  "core/audits/accessibility/listitem.js | description": {
420
- "message": "Os leitores de ecrã necessitam que os itens de lista (`<li>`) sejam contidos num `<ul>`, `<ol>` ou `<menu>` superior para serem adequadamente anunciados. [Saiba mais acerca da estrutura de listas adequada](https://dequeuniversity.com/rules/axe/4.8/listitem)."
411
+ "message": "Os leitores de ecrã necessitam que os itens de lista (`<li>`) sejam contidos num `<ul>`, `<ol>` ou `<menu>` superior para serem adequadamente anunciados. [Saiba mais acerca da estrutura de listas adequada](https://dequeuniversity.com/rules/axe/4.9/listitem)."
421
412
  },
422
413
  "core/audits/accessibility/listitem.js | failureTitle": {
423
414
  "message": "Os itens de lista (`<li>`) não estão contidos nos elementos superiores `<ul>`, `<ol>` ou `<menu>`."
@@ -426,7 +417,7 @@
426
417
  "message": "Os itens de lista (`<li>`) estão contidos nos elementos superiores `<ul>`, `<ol>` ou `<menu>`"
427
418
  },
428
419
  "core/audits/accessibility/meta-refresh.js | description": {
429
- "message": "Os utilizadores não esperam que uma página se atualize automaticamente e, se tal acontecer, vai desviar o foco para a parte superior da página. Esta situação pode criar uma experiência frustrante ou confusa. [Saiba mais acerca da metatag de atualização](https://dequeuniversity.com/rules/axe/4.8/meta-refresh)."
420
+ "message": "Os utilizadores não esperam que uma página se atualize automaticamente e, se tal acontecer, vai desviar o foco para a parte superior da página. Esta situação pode criar uma experiência frustrante ou confusa. [Saiba mais acerca da metatag de atualização](https://dequeuniversity.com/rules/axe/4.9/meta-refresh)."
430
421
  },
431
422
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
432
423
  "message": "O documento utiliza `<meta http-equiv=\"refresh\">`"
@@ -435,7 +426,7 @@
435
426
  "message": "O documento não utiliza `<meta http-equiv=\"refresh\">`"
436
427
  },
437
428
  "core/audits/accessibility/meta-viewport.js | description": {
438
- "message": "Desativar o zoom é problemático para os utilizadores com visão reduzida que dependem da ampliação do ecrã para ver adequadamente o conteúdo de uma página Web. [Saiba mais acerca da metatag de área visível](https://dequeuniversity.com/rules/axe/4.8/meta-viewport)."
429
+ "message": "Desativar o zoom é problemático para os utilizadores com visão reduzida que dependem da ampliação do ecrã para ver adequadamente o conteúdo de uma página Web. [Saiba mais acerca da metatag de área visível](https://dequeuniversity.com/rules/axe/4.9/meta-viewport)."
439
430
  },
440
431
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
441
432
  "message": "O `[user-scalable=\"no\"]` é utilizado no elemento `<meta name=\"viewport\">` ou o atributo `[maximum-scale]` é inferior a 5."
@@ -444,7 +435,7 @@
444
435
  "message": "O `[user-scalable=\"no\"]` não é utilizado no elemento `<meta name=\"viewport\">` e o atributo `[maximum-scale]` não é inferior a 5."
445
436
  },
446
437
  "core/audits/accessibility/object-alt.js | description": {
447
- "message": "Os leitores de ecrã não conseguem traduzir conteúdo que não seja de texto. Adicionar texto alternativo a elementos `<object>` ajuda os leitores de ecrã a transmitir significado aos utilizadores. [Saiba mais acerca do texto alternativo para elementos `object`](https://dequeuniversity.com/rules/axe/4.8/object-alt)."
438
+ "message": "Os leitores de ecrã não conseguem traduzir conteúdo que não seja de texto. Adicionar texto alternativo a elementos `<object>` ajuda os leitores de ecrã a transmitir significado aos utilizadores. [Saiba mais acerca do texto alternativo para elementos `object`](https://dequeuniversity.com/rules/axe/4.9/object-alt)."
448
439
  },
449
440
  "core/audits/accessibility/object-alt.js | failureTitle": {
450
441
  "message": "Os elementos `<object>` não têm texto alternativo"
@@ -453,7 +444,7 @@
453
444
  "message": "Os elementos `<object>` têm texto alternativo"
454
445
  },
455
446
  "core/audits/accessibility/select-name.js | description": {
456
- "message": "Os elementos de formulário sem etiquetas eficazes podem criar experiências frustrantes para os utilizadores de leitores de ecrã. [Saiba mais acerca do elemento `select`](https://dequeuniversity.com/rules/axe/4.8/select-name)."
447
+ "message": "Os elementos de formulário sem etiquetas eficazes podem criar experiências frustrantes para os utilizadores de leitores de ecrã. [Saiba mais acerca do elemento `select`](https://dequeuniversity.com/rules/axe/4.9/select-name)."
457
448
  },
458
449
  "core/audits/accessibility/select-name.js | failureTitle": {
459
450
  "message": "Os elementos Select não têm elementos de etiqueta associados."
@@ -462,7 +453,7 @@
462
453
  "message": "Os elementos Select têm elementos de etiqueta associados."
463
454
  },
464
455
  "core/audits/accessibility/skip-link.js | description": {
465
- "message": "A inclusão de um link para ignorar pode ajudar os utilizadores a avançarem para o conteúdo principal para poupar tempo. [Saiba mais sobre os links para ignorar](https://dequeuniversity.com/rules/axe/4.8/skip-link)."
456
+ "message": "A inclusão de um link para ignorar pode ajudar os utilizadores a avançarem para o conteúdo principal para poupar tempo. [Saiba mais sobre os links para ignorar](https://dequeuniversity.com/rules/axe/4.9/skip-link)."
466
457
  },
467
458
  "core/audits/accessibility/skip-link.js | failureTitle": {
468
459
  "message": "Os links para ignorar não são focalizáveis."
@@ -471,7 +462,7 @@
471
462
  "message": "Os links para ignorar são focalizáveis."
472
463
  },
473
464
  "core/audits/accessibility/tabindex.js | description": {
474
- "message": "Um valor superior a 0 implica uma ordenação de navegação explícita. Embora seja tecnicamente válida, esta situação costuma criar experiências frustrantes para os utilizadores que dependem de tecnologias de assistência. [Saiba mais acerca do atributo `tabindex`](https://dequeuniversity.com/rules/axe/4.8/tabindex)."
465
+ "message": "Um valor superior a 0 implica uma ordenação de navegação explícita. Embora seja tecnicamente válida, esta situação costuma criar experiências frustrantes para os utilizadores que dependem de tecnologias de assistência. [Saiba mais acerca do atributo `tabindex`](https://dequeuniversity.com/rules/axe/4.9/tabindex)."
475
466
  },
476
467
  "core/audits/accessibility/tabindex.js | failureTitle": {
477
468
  "message": "Alguns elementos têm um valor `[tabindex]` superior a 0"
@@ -480,7 +471,7 @@
480
471
  "message": "Nenhum elemento tem um valor `[tabindex]` superior a 0"
481
472
  },
482
473
  "core/audits/accessibility/table-duplicate-name.js | description": {
483
- "message": "O atributo summary deve descrever a estrutura da tabela, enquanto `<caption>` deve ter o título no ecrã. A marcação precisa da tabela ajuda os utilizadores de leitores de ecrã. [Saiba mais sobre os elementos summary e caption](https://dequeuniversity.com/rules/axe/4.8/table-duplicate-name)."
474
+ "message": "O atributo summary deve descrever a estrutura da tabela, enquanto `<caption>` deve ter o título no ecrã. A marcação precisa da tabela ajuda os utilizadores de leitores de ecrã. [Saiba mais sobre os elementos summary e 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": "As tabelas têm o mesmo conteúdo no atributo summary e no elemento `<caption>.`"
@@ -489,7 +480,7 @@
489
480
  "message": "As tabelas têm conteúdo diferente no atributo summary e no elemento `<caption>`."
490
481
  },
491
482
  "core/audits/accessibility/table-fake-caption.js | description": {
492
- "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que as tabelas usam o elemento de legenda real em vez das células com o atributo `[colspan]` pode melhorar a experiência dos utilizadores de leitores de ecrã. [Saiba mais sobre as legendas](https://dequeuniversity.com/rules/axe/4.8/table-fake-caption)."
483
+ "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que as tabelas usam o elemento de legenda real em vez das células com o atributo `[colspan]` pode melhorar a experiência dos utilizadores de leitores de ecrã. [Saiba mais sobre as legendas](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": "As tabelas não usam `<caption>` em vez de células com o atributo `[colspan]` para indicar uma legenda."
@@ -498,7 +489,7 @@
498
489
  "message": "As tabelas usam `<caption>` em vez de células com o atributo `[colspan]` para indicar uma legenda."
499
490
  },
500
491
  "core/audits/accessibility/target-size.js | description": {
501
- "message": "As áreas de toque com tamanho e espaçamento suficientes ajudam os utilizadores que possam ter dificuldades em usar controlos pequenos a ativar os alvos. [Saiba mais acerca das áreas de toque](https://dequeuniversity.com/rules/axe/4.8/target-size)."
492
+ "message": "As áreas de toque com tamanho e espaçamento suficientes ajudam os utilizadores que possam ter dificuldades em usar controlos pequenos a ativar os alvos. [Saiba mais acerca das áreas de toque](https://dequeuniversity.com/rules/axe/4.9/target-size)."
502
493
  },
503
494
  "core/audits/accessibility/target-size.js | failureTitle": {
504
495
  "message": "As áreas de toque não têm tamanho nem espaçamento suficientes."
@@ -507,7 +498,7 @@
507
498
  "message": "As áreas de toque têm tamanho e espaçamento suficientes."
508
499
  },
509
500
  "core/audits/accessibility/td-has-header.js | description": {
510
- "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que os elementos `<td>` numa tabela grande (3 ou mais células de largura e altura) têm um cabeçalho de tabela associado pode melhorar a experiência para os utilizadores de leitores de ecrã. [Saiba mais acerca dos cabeçalhos de tabelas](https://dequeuniversity.com/rules/axe/4.8/td-has-header)."
501
+ "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que os elementos `<td>` numa tabela grande (3 ou mais células de largura e altura) têm um cabeçalho de tabela associado pode melhorar a experiência para os utilizadores de leitores de ecrã. [Saiba mais acerca dos cabeçalhos de tabelas](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": "Os elementos `<td>` num `<table>` grande não têm cabeçalhos de tabela."
@@ -516,7 +507,7 @@
516
507
  "message": "Os elementos `<td>` num elemento `<table>` grande têm um ou mais cabeçalhos de tabelas."
517
508
  },
518
509
  "core/audits/accessibility/td-headers-attr.js | description": {
519
- "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que as células `<td>` que usam o atributo `[headers]` apenas referenciam outras células na mesma tabela pode melhorar a experiência para os utilizadores de leitores de ecrã. [Saiba mais acerca do atributo `headers`](https://dequeuniversity.com/rules/axe/4.8/td-headers-attr)."
510
+ "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que as células `<td>` que usam o atributo `[headers]` apenas referenciam outras células na mesma tabela pode melhorar a experiência para os utilizadores de leitores de ecrã. [Saiba mais acerca do atributo `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": "As células num elemento `<table>` que utilizam o atributo `[headers]` referem-se a um elemento `id` que não se encontra dentro da mesma tabela."
@@ -525,7 +516,7 @@
525
516
  "message": "As células num elemento `<table>` que utilizam o atributo `[headers]` referem-se a células de tabela dentro da mesma tabela."
526
517
  },
527
518
  "core/audits/accessibility/th-has-data-cells.js | description": {
528
- "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que os cabeçalhos de tabelas referenciam sempre algum conjunto de células pode melhorar a experiência dos utilizadores com leitores de ecrã. [Saiba mais acerca dos cabeçalhos de tabelas](https://dequeuniversity.com/rules/axe/4.8/th-has-data-cells)."
519
+ "message": "Os leitores de ecrã têm funcionalidades para facilitar a navegação em tabelas. Garantir que os cabeçalhos de tabelas referenciam sempre algum conjunto de células pode melhorar a experiência dos utilizadores com leitores de ecrã. [Saiba mais acerca dos cabeçalhos de tabelas](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": "Os elementos `<th>` e os elementos com `[role=\"columnheader\"/\"rowheader\"]` não têm as células de dados que descrevem."
@@ -534,7 +525,7 @@
534
525
  "message": "Os elementos `<th>` e os elementos com `[role=\"columnheader\"/\"rowheader\"]` têm as células de dados que descrevem."
535
526
  },
536
527
  "core/audits/accessibility/valid-lang.js | description": {
537
- "message": "Especificar um [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido para elementos ajuda a garantir que o texto é pronunciado corretamente por um leitor de ecrã. [Saiba como usar o atributo `lang`](https://dequeuniversity.com/rules/axe/4.8/valid-lang)."
528
+ "message": "Especificar um [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido para elementos ajuda a garantir que o texto é pronunciado corretamente por um leitor de ecrã. [Saiba como usar o atributo `lang`](https://dequeuniversity.com/rules/axe/4.9/valid-lang)."
538
529
  },
539
530
  "core/audits/accessibility/valid-lang.js | failureTitle": {
540
531
  "message": "Os atributos `[lang]` não têm um valor válido"
@@ -543,7 +534,7 @@
543
534
  "message": "Os atributos `[lang]` têm um valor válido"
544
535
  },
545
536
  "core/audits/accessibility/video-caption.js | description": {
546
- "message": "Quando um vídeo oferece uma legenda, é mais fácil para os utilizadores surdos e com problemas de audição aceder às informações. [Saiba mais acerca das legendas de vídeos](https://dequeuniversity.com/rules/axe/4.8/video-caption)."
537
+ "message": "Quando um vídeo oferece uma legenda, é mais fácil para os utilizadores surdos e com problemas de audição aceder às informações. [Saiba mais acerca das legendas de vídeos](https://dequeuniversity.com/rules/axe/4.9/video-caption)."
547
538
  },
548
539
  "core/audits/accessibility/video-caption.js | failureTitle": {
549
540
  "message": "Os elementos `<video>` não contêm um elemento `<track>` com `[kind=\"captions\"]`"
@@ -743,18 +734,6 @@
743
734
  "core/audits/byte-efficiency/uses-text-compression.js | title": {
744
735
  "message": "Ative a compressão de texto"
745
736
  },
746
- "core/audits/content-width.js | description": {
747
- "message": "Se a largura do conteúdo da sua app não corresponder à largura da área visível, a sua app pode não estar otimizada para ecrãs de dispositivos móveis. [Saiba como dimensionar o conteúdo para a área visível](https://developer.chrome.com/docs/lighthouse/pwa/content-width/)."
748
- },
749
- "core/audits/content-width.js | explanation": {
750
- "message": "O tamanho da área visível de {innerWidth} px não corresponde ao tamanho da janela de {outerWidth} px."
751
- },
752
- "core/audits/content-width.js | failureTitle": {
753
- "message": "O conteúdo não é dimensionado corretamente para a área visível"
754
- },
755
- "core/audits/content-width.js | title": {
756
- "message": "O conteúdo é dimensionado corretamente para a área visível"
757
- },
758
737
  "core/audits/critical-request-chains.js | description": {
759
738
  "message": "As Cadeias de pedidos críticos abaixo apresentam os recursos que são carregados com uma prioridade elevada. Considere reduzir o tamanho das cadeias, reduzir o tamanho de transferência dos recursos ou adiar a transferência de recursos desnecessários para melhorar o carregamento de página. [Saiba como evitar encadear pedidos críticos](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": "Publica imagens com a resolução adequada"
1006
985
  },
1007
- "core/audits/installable-manifest.js | already-installed": {
1008
- "message": "A app já está instalada."
1009
- },
1010
- "core/audits/installable-manifest.js | cannot-download-icon": {
1011
- "message": "Não foi possível transferir um ícone necessário do manifesto."
1012
- },
1013
- "core/audits/installable-manifest.js | columnValue": {
1014
- "message": "Motivo da falha"
1015
- },
1016
- "core/audits/installable-manifest.js | description": {
1017
- "message": "O service worker é a tecnologia que permite que a sua app use muitas funcionalidades de apps Web progressivas, tais como offline, adicionar ao ecrã principal e notificações push. Com as implementações adequadas do service worker e manifesto, os navegadores podem pedir proativamente aos utilizadores que adicionem a sua app ao respetivo ecrã principal, o que pode resultar numa maior interação. [Saiba mais acerca dos requisitos de capacidade de instalação de manifestos](https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/)."
1018
- },
1019
- "core/audits/installable-manifest.js | displayValue": {
1020
- "message": "{itemCount,plural, =1{1 motivo}other{# motivos}}"
1021
- },
1022
- "core/audits/installable-manifest.js | failureTitle": {
1023
- "message": "O manifesto da app para a Web ou o service worker não cumpre os requisitos de capacidade de instalação"
1024
- },
1025
- "core/audits/installable-manifest.js | ids-do-not-match": {
1026
- "message": "O URL e o ID da app na Play Store não correspondem."
1027
- },
1028
- "core/audits/installable-manifest.js | in-incognito": {
1029
- "message": "A página está carregada numa janela de navegação anónima."
1030
- },
1031
- "core/audits/installable-manifest.js | manifest-display-not-supported": {
1032
- "message": "A propriedade `display` do manifesto tem de ser uma das seguintes: `standalone`, `fullscreen` ou `minimal-ui`."
1033
- },
1034
- "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1035
- "message": "O manifesto contém o campo \"display_override\" e o primeiro modo de apresentação suportado tem de ser um dos seguintes: \"standalone\", \"fullscreen\" ou \"minimal-ui\"."
1036
- },
1037
- "core/audits/installable-manifest.js | manifest-empty": {
1038
- "message": "Não foi possível obter ou analisar o manifesto ou o manifesto está vazio."
1039
- },
1040
- "core/audits/installable-manifest.js | manifest-location-changed": {
1041
- "message": "O URL do manifesto foi alterado durante a operação de obtenção do manifesto."
1042
- },
1043
- "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1044
- "message": "O manifesto não contém um campo `name` ou `short_name`"
1045
- },
1046
- "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1047
- "message": "O manifesto não contém um ícone adequado. É necessário um formato PNG, SVG ou WebP de, pelo menos, {value0} px, é necessário definir o atributo \"sizes\" e o atributo \"purpose\". Se definido, tem de incluir \"any\"."
1048
- },
1049
- "core/audits/installable-manifest.js | no-acceptable-icon": {
1050
- "message": "Nenhum ícone fornecido tem, pelo menos, {value0} px quadrados no formato PNG, SVG ou WebP, com o atributo \"purpose\" não definido ou definido como \"any\""
1051
- },
1052
- "core/audits/installable-manifest.js | no-icon-available": {
1053
- "message": "O ícone transferido estava vazio ou danificado."
1054
- },
1055
- "core/audits/installable-manifest.js | no-id-specified": {
1056
- "message": "Não foi fornecido um ID da Play Store."
1057
- },
1058
- "core/audits/installable-manifest.js | no-manifest": {
1059
- "message": "A página não tem um URL <link> de manifesto."
1060
- },
1061
- "core/audits/installable-manifest.js | no-url-for-service-worker": {
1062
- "message": "Não foi possível verificar o service worker sem um campo \"start_url\" no manifesto."
1063
- },
1064
- "core/audits/installable-manifest.js | noErrorId": {
1065
- "message": "O ID de erro de capacidade de instalação \"{errorId}\" não é reconhecido."
1066
- },
1067
- "core/audits/installable-manifest.js | not-from-secure-origin": {
1068
- "message": "A página não é publicada a partir de uma origem segura."
1069
- },
1070
- "core/audits/installable-manifest.js | not-in-main-frame": {
1071
- "message": "A página não é carregada no frame principal."
1072
- },
1073
- "core/audits/installable-manifest.js | not-offline-capable": {
1074
- "message": "A página não funciona offline."
1075
- },
1076
- "core/audits/installable-manifest.js | pipeline-restarted": {
1077
- "message": "A PWA foi desinstalada e as verificações de capacidade de instalação estão a ser repostas."
1078
- },
1079
- "core/audits/installable-manifest.js | platform-not-supported-on-android": {
1080
- "message": "A plataforma da aplicação especificada não é suportada no Android."
1081
- },
1082
- "core/audits/installable-manifest.js | prefer-related-applications": {
1083
- "message": "O manifesto especifica prefer_related_applications: true"
1084
- },
1085
- "core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1086
- "message": "A opção prefer_related_applications só é suportada no Chrome Beta e nos canais estáveis do Android."
1087
- },
1088
- "core/audits/installable-manifest.js | protocol-timeout": {
1089
- "message": "O Lighthouse não conseguiu determinar se a página é instalável. Tente com uma versão mais recente do Chrome."
1090
- },
1091
- "core/audits/installable-manifest.js | start-url-not-valid": {
1092
- "message": "O URL de início do manifesto não é válido."
1093
- },
1094
- "core/audits/installable-manifest.js | title": {
1095
- "message": "O manifesto da app para a Web e o service worker cumprem os requisitos de capacidade de instalação"
1096
- },
1097
- "core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1098
- "message": "Um URL do manifesto contém um nome de utilizador, palavra-passe ou porta."
1099
- },
1100
- "core/audits/installable-manifest.js | warn-not-offline-capable": {
1101
- "message": "A página não funciona offline. A página não será considerada como passível de instalação após o lançamento da versão estável do Chrome 93, em agosto de 2021."
1102
- },
1103
986
  "core/audits/is-on-https.js | allowed": {
1104
987
  "message": "Permitido"
1105
988
  },
@@ -1157,15 +1040,6 @@
1157
1040
  "core/audits/largest-contentful-paint-element.js | title": {
1158
1041
  "message": "Elemento de Maior preenchimento com conteúdo"
1159
1042
  },
1160
- "core/audits/layout-shift-elements.js | columnContribution": {
1161
- "message": "Impacto da mudança de esquema"
1162
- },
1163
- "core/audits/layout-shift-elements.js | description": {
1164
- "message": "Estes elementos DOM foram os mais afetados por mudanças de esquema. Algumas mudanças de esquema podem não ser incluídas no valor da métrica CLS devido à [normalização](https://web.dev/articles/cls#what_is_cls). [Saiba como melhorar a CLS](https://web.dev/articles/optimize-cls)"
1165
- },
1166
- "core/audits/layout-shift-elements.js | title": {
1167
- "message": "Evite mudanças de esquemas grandes"
1168
- },
1169
1043
  "core/audits/layout-shifts.js | columnScore": {
1170
1044
  "message": "Pontuação da mudança de esquema"
1171
1045
  },
@@ -1220,33 +1094,6 @@
1220
1094
  "core/audits/mainthread-work-breakdown.js | title": {
1221
1095
  "message": "Reduz as operações do thread principal"
1222
1096
  },
1223
- "core/audits/manual/pwa-cross-browser.js | description": {
1224
- "message": "Para alcançar o maior número possível de utilizadores, os sites devem funcionar em todos os navegadores principais. [Saiba mais acerca da compatibilidade entre navegadores](https://developer.chrome.com/docs/lighthouse/pwa/pwa-cross-browser/)."
1225
- },
1226
- "core/audits/manual/pwa-cross-browser.js | title": {
1227
- "message": "O site funciona em vários navegadores"
1228
- },
1229
- "core/audits/manual/pwa-each-page-has-url.js | description": {
1230
- "message": "Confirme que as páginas individuais têm links diretos através de URLs e os URLs são exclusivos para a finalidade de serem partilhados em redes sociais. [Saiba mais acerca do fornecimento de links diretos](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": "Cada página tem um URL"
1234
- },
1235
- "core/audits/manual/pwa-page-transitions.js | description": {
1236
- "message": "As transições devem parecer rápidas à medida em que toca em qualquer local, mesmo numa rede lenta. Esta experiência é essencial para a perceção do desempenho de um utilizador. [Saiba mais acerca das transições de páginas](https://developer.chrome.com/docs/lighthouse/pwa/pwa-page-transitions/)."
1237
- },
1238
- "core/audits/manual/pwa-page-transitions.js | title": {
1239
- "message": "As transições da página não parecem ficar bloqueadas na rede"
1240
- },
1241
- "core/audits/maskable-icon.js | description": {
1242
- "message": "Um ícone mascarável garante que a imagem preenche toda a forma sem sofrer o efeito letterbox quando instala a app num dispositivo. [Saiba mais acerca dos ícones de manifestos mascaráveis](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit/)."
1243
- },
1244
- "core/audits/maskable-icon.js | failureTitle": {
1245
- "message": "O manifesto não tem um ícone mascarável"
1246
- },
1247
- "core/audits/maskable-icon.js | title": {
1248
- "message": "O manifesto tem um ícone mascarável"
1249
- },
1250
1097
  "core/audits/metrics/cumulative-layout-shift.js | description": {
1251
1098
  "message": "A Mudança de esquema cumulativo mede o movimento dos elementos visíveis na área visível. [Saiba mais acerca da métrica Mudança de esquema cumulativo](https://web.dev/articles/cls)."
1252
1099
  },
@@ -1286,15 +1133,6 @@
1286
1133
  "core/audits/network-server-latency.js | title": {
1287
1134
  "message": "Latências de back-end do servidor"
1288
1135
  },
1289
- "core/audits/no-unload-listeners.js | description": {
1290
- "message": "O evento `unload` não é acionado de forma fiável e detetá-lo pode impedir otimizações do navegador, como a cache para a frente/para trás. Opte por usar eventos `pagehide` ou `visibilitychange`. [Saiba mais acerca dos ouvintes de eventos unload](https://web.dev/articles/bfcache#never_use_the_unload_event)"
1291
- },
1292
- "core/audits/no-unload-listeners.js | failureTitle": {
1293
- "message": "Regista um ouvinte `unload`"
1294
- },
1295
- "core/audits/no-unload-listeners.js | title": {
1296
- "message": "Evita ouvintes de eventos `unload`"
1297
- },
1298
1136
  "core/audits/non-composited-animations.js | description": {
1299
1137
  "message": "As animações que não são compostas podem ser de má qualidade e aumentar o CLS. [Saiba como evitar animações não compostas](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": "O efeito tem parâmetros de tempo não suportados"
1324
1162
  },
1325
- "core/audits/performance-budget.js | description": {
1326
- "message": "Mantenha a quantidade e o tamanho dos pedidos de rede abaixo dos alvos estabelecidos pelo orçamento de desempenho disponibilizado. [Saiba mais acerca dos orçamentos de desempenho](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1327
- },
1328
- "core/audits/performance-budget.js | requestCountOverBudget": {
1329
- "message": "{count,plural, =1{1 pedido}other{# pedidos}}"
1330
- },
1331
- "core/audits/performance-budget.js | title": {
1332
- "message": "Orçamento de desempenho"
1333
- },
1334
1163
  "core/audits/preload-fonts.js | description": {
1335
1164
  "message": "Faça o pré-carregamento dos tipos de letra `optional` para que os novos visitantes possam usá-los. [Saiba mais acerca do pré-carregamento dos tipos de letra](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": "O documento tem uma meta descrição"
1483
1312
  },
1484
- "core/audits/seo/plugins.js | description": {
1485
- "message": "Não é possível aos motores de pesquisa indexar o conteúdo de plug-ins, e muitos dispositivos restringem plug-ins ou não os suportam. [Saiba como evitar plug-ins](https://developer.chrome.com/docs/lighthouse/seo/plugins/)."
1486
- },
1487
- "core/audits/seo/plugins.js | failureTitle": {
1488
- "message": "O documento utiliza plug-ins"
1489
- },
1490
- "core/audits/seo/plugins.js | title": {
1491
- "message": "O documento evita plug-ins"
1492
- },
1493
1313
  "core/audits/seo/robots-txt.js | description": {
1494
1314
  "message": "Se o ficheiro robots.txt estiver mal formado, os motores de rastreio podem não conseguir compreender como quer que o seu Website seja rastreado ou indexado. [Saiba mais acerca do ficheiro 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": "O ficheiro robots.txt é válido"
1510
1330
  },
1511
- "core/audits/seo/tap-targets.js | description": {
1512
- "message": "Os elementos interativos, como botões e links, devem ser suficientemente grandes (48 x 48 px) ou ter espaço suficiente à volta para serem fáceis de tocar sem que se sobreponham a outros elementos. [Saiba mais acerca dos alvos táteis](https://developer.chrome.com/docs/lighthouse/seo/tap-targets/)."
1513
- },
1514
- "core/audits/seo/tap-targets.js | displayValue": {
1515
- "message": "Os alvos táteis foram dimensionados corretamente com um tamanho de {decimalProportion, number, percent}"
1516
- },
1517
- "core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1518
- "message": "Os alvos táteis são demasiado pequenos porque não existe nenhuma metatag de área visível otimizada para ecrãs de dispositivos móveis."
1519
- },
1520
- "core/audits/seo/tap-targets.js | failureTitle": {
1521
- "message": "Os alvos táteis não estão dimensionados corretamente"
1522
- },
1523
- "core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1524
- "message": "Alvo sobreposto"
1525
- },
1526
- "core/audits/seo/tap-targets.js | tapTargetHeader": {
1527
- "message": "Alvo tátil"
1528
- },
1529
- "core/audits/seo/tap-targets.js | title": {
1530
- "message": "Os alvos táteis estão dimensionados corretamente"
1531
- },
1532
1331
  "core/audits/server-response-time.js | description": {
1533
1332
  "message": "Mantenha o tempo de resposta do servidor para o documento principal curto porque todos os outros pedidos dependem do mesmo. [Saiba mais acerca da métrica Tempo até ao primeiro 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": "O tempo de resposta do servidor inicial foi curto"
1543
1342
  },
1544
- "core/audits/splash-screen.js | description": {
1545
- "message": "Um ecrã inicial temático garante uma experiência de alta qualidade quando os utilizadores iniciam a app a partir dos respetivos ecrãs principais. [Saiba mais acerca dos ecrãs iniciais](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
1546
- },
1547
- "core/audits/splash-screen.js | failureTitle": {
1548
- "message": "Não está configurado para um ecrã inicial personalizado"
1549
- },
1550
- "core/audits/splash-screen.js | title": {
1551
- "message": "Configurado para um ecrã inicial personalizado"
1552
- },
1553
- "core/audits/themed-omnibox.js | description": {
1554
- "message": "A barra de endereço do navegador pode ter um tema que corresponda ao seu site. [Saiba mais acerca da associação por temas da barra de endereço](https://developer.chrome.com/docs/lighthouse/pwa/themed-omnibox/)."
1555
- },
1556
- "core/audits/themed-omnibox.js | failureTitle": {
1557
- "message": "Não define uma cor do tema para a barra de endereço."
1558
- },
1559
- "core/audits/themed-omnibox.js | title": {
1560
- "message": "Define uma cor do tema para a barra de endereço"
1561
- },
1562
1343
  "core/audits/third-party-cookies.js | description": {
1563
1344
  "message": "O suporte de cookies de terceiros vai ser removido numa versão futura do Chrome. [Saiba mais acerca da descontinuação dos cookies de terceiros](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": "Minimize a utilização de terceiros"
1615
1396
  },
1616
- "core/audits/timing-budget.js | columnMeasurement": {
1617
- "message": "Medição"
1618
- },
1619
- "core/audits/timing-budget.js | columnTimingMetric": {
1620
- "message": "Métrica"
1621
- },
1622
- "core/audits/timing-budget.js | description": {
1623
- "message": "Defina um orçamento de tempo para controlar o desempenho do seu site. Os sites com bom desempenho são carregados rapidamente e respondem aos eventos de entrada do utilizador com brevidade. [Saiba mais acerca dos orçamentos de desempenho](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1624
- },
1625
- "core/audits/timing-budget.js | title": {
1626
- "message": "Orçamento de tempo"
1627
- },
1628
1397
  "core/audits/unsized-images.js | description": {
1629
1398
  "message": "Defina uma largura e uma altura explícitas nos elementos de imagem para reduzir mudanças de esquema e melhorar o CLS. [Saiba como definir dimensões das imagens](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": "Atraso na apresentação"
1720
1489
  },
1721
- "core/audits/work-during-interaction.js | processingTime": {
1722
- "message": "Tempo de processamento"
1490
+ "core/audits/work-during-interaction.js | processingDuration": {
1491
+ "message": "Duração do processamento"
1723
1492
  },
1724
1493
  "core/audits/work-during-interaction.js | title": {
1725
1494
  "message": "Minimiza o trabalho durante a interação principal"
@@ -1796,12 +1565,6 @@
1796
1565
  "core/config/default-config.js | bestPracticesUXGroupTitle": {
1797
1566
  "message": "Experiência do utilizador"
1798
1567
  },
1799
- "core/config/default-config.js | budgetsGroupDescription": {
1800
- "message": "Os orçamentos de desempenho definem padrões para o desempenho do seu site."
1801
- },
1802
- "core/config/default-config.js | budgetsGroupTitle": {
1803
- "message": "Orçamentos"
1804
- },
1805
1568
  "core/config/default-config.js | diagnosticsGroupDescription": {
1806
1569
  "message": "Mais informações sobre o desempenho da sua aplicação. Estes números não [afetam diretamente](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) a pontuação de desempenho."
1807
1570
  },
@@ -1814,12 +1577,6 @@
1814
1577
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1815
1578
  "message": "Melhorias no primeiro preenchimento"
1816
1579
  },
1817
- "core/config/default-config.js | loadOpportunitiesGroupDescription": {
1818
- "message": "Estas sugestões podem ajudar a sua página a ser carregada mais rapidamente. As mesmas não [afetam diretamente](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) a pontuação de desempenho."
1819
- },
1820
- "core/config/default-config.js | loadOpportunitiesGroupTitle": {
1821
- "message": "Oportunidades"
1822
- },
1823
1580
  "core/config/default-config.js | metricGroupTitle": {
1824
1581
  "message": "Métricas"
1825
1582
  },
@@ -1832,21 +1589,6 @@
1832
1589
  "core/config/default-config.js | performanceCategoryTitle": {
1833
1590
  "message": "Desempenho"
1834
1591
  },
1835
- "core/config/default-config.js | pwaCategoryDescription": {
1836
- "message": "Estas verificações validam os aspetos de uma app Web progressiva. [Saiba o que contribui para uma boa app Web progressiva](https://web.dev/articles/pwa-checklist)."
1837
- },
1838
- "core/config/default-config.js | pwaCategoryManualDescription": {
1839
- "message": "A [Lista de verificação de PWA](https://web.dev/articles/pwa-checklist) de referência requer estas verificações, mas as mesmas não são verificadas automaticamente pelo Lighthouse. Não afetam a sua pontuação, mas é importante que as valide manualmente."
1840
- },
1841
- "core/config/default-config.js | pwaCategoryTitle": {
1842
- "message": "PWA"
1843
- },
1844
- "core/config/default-config.js | pwaInstallableGroupTitle": {
1845
- "message": "Instalável"
1846
- },
1847
- "core/config/default-config.js | pwaOptimizedGroupTitle": {
1848
- "message": "PWA otimizada"
1849
- },
1850
1592
  "core/config/default-config.js | seoCategoryDescription": {
1851
1593
  "message": "Estas verificações asseguram que a página está a seguir os conselhos básicos de otimização do motor de pesquisa. Existem vários fatores adicionais que o Lighthouse não contabiliza aqui e que podem afetar a classificação de pesquisa, incluindo o desempenho nas [Métricas essenciais da Web](https://web.dev/explore/vitals). [Saiba mais acerca do 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": "Nome"
2518
2260
  },
2519
- "core/lib/i18n/i18n.js | columnOverBudget": {
2520
- "message": "Superior ao orçamento"
2521
- },
2522
2261
  "core/lib/i18n/i18n.js | columnRequests": {
2523
2262
  "message": "Pedidos"
2524
2263
  },
@@ -2729,9 +2468,6 @@
2729
2468
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2730
2469
  "message": "Desempenho"
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": "Auditorias aprovadas"
3400
3136
  },
3401
- "report/renderer/report-utils.js | pwaRemovalMessage": {
3402
- "message": "De acordo com os [Critérios de capacidade de instalação atualizados do Chrome](https://developer.chrome.com/blog/update-install-criteria), o Lighthouse vai descontinuar a categoria PWA numa versão futura. Consulte a [documentação de PWA atualizada](https://developer.chrome.com/docs/devtools/progressive-web-apps/) para futuros testes de PWA."
3403
- },
3404
3137
  "report/renderer/report-utils.js | runtimeAnalysisWindow": {
3405
3138
  "message": "Carregamento de página inicial"
3406
3139
  },