UNPKG

chrome-devtools-frontend

Version:
731 lines 228 kB
{ "core/audits/accessibility/accesskeys.js | description": { "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.7/accesskeys)." }, "core/audits/accessibility/accesskeys.js | failureTitle": { "message": "Os valores `[accesskey]` não são exclusivos" }, "core/audits/accessibility/accesskeys.js | title": { "message": "Os valores `[accesskey]` são exclusivos" }, "core/audits/accessibility/aria-allowed-attr.js | description": { "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.7/aria-allowed-attr)." }, "core/audits/accessibility/aria-allowed-attr.js | failureTitle": { "message": "Os atributos `[aria-*]` não correspondem às respetivas funções" }, "core/audits/accessibility/aria-allowed-attr.js | title": { "message": "Os atributos `[aria-*]` correspondem às respetivas funções" }, "core/audits/accessibility/aria-command-name.js | description": { "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.7/aria-command-name)." }, "core/audits/accessibility/aria-command-name.js | failureTitle": { "message": "Os elementos `button`, `link` e `menuitem` não têm nomes acessíveis" }, "core/audits/accessibility/aria-command-name.js | title": { "message": "Os elementos `button`, `link` e `menuitem` têm nomes acessíveis" }, "core/audits/accessibility/aria-hidden-body.js | description": { "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.7/aria-hidden-body)." }, "core/audits/accessibility/aria-hidden-body.js | failureTitle": { "message": "`[aria-hidden=\"true\"]` está presente no `<body>` do documento" }, "core/audits/accessibility/aria-hidden-body.js | title": { "message": "`[aria-hidden=\"true\"]` não está presente no `<body>` do documento" }, "core/audits/accessibility/aria-hidden-focus.js | description": { "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.7/aria-hidden-focus)." }, "core/audits/accessibility/aria-hidden-focus.js | failureTitle": { "message": "Os elementos `[aria-hidden=\"true\"]` contêm descendentes focáveis" }, "core/audits/accessibility/aria-hidden-focus.js | title": { "message": "Os elementos `[aria-hidden=\"true\"]` não contêm descendentes focáveis" }, "core/audits/accessibility/aria-input-field-name.js | description": { "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.7/aria-input-field-name)." }, "core/audits/accessibility/aria-input-field-name.js | failureTitle": { "message": "Os campos de entrada ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-input-field-name.js | title": { "message": "Os campos de entrada ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-meter-name.js | description": { "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.7/aria-meter-name)." }, "core/audits/accessibility/aria-meter-name.js | failureTitle": { "message": "Os elementos `meter` ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-meter-name.js | title": { "message": "Os elementos `meter` ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-progressbar-name.js | description": { "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.7/aria-progressbar-name)." }, "core/audits/accessibility/aria-progressbar-name.js | failureTitle": { "message": "Os elementos `progressbar` ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-progressbar-name.js | title": { "message": "Os elementos `progressbar` ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-required-attr.js | description": { "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.7/aria-required-attr)." }, "core/audits/accessibility/aria-required-attr.js | failureTitle": { "message": "Os `[role]`s não têm todos os atributos `[aria-*]` obrigatórios" }, "core/audits/accessibility/aria-required-attr.js | title": { "message": "Os `[role]`s têm todos os atributos `[aria-*]` obrigatórios" }, "core/audits/accessibility/aria-required-children.js | description": { "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.7/aria-required-children)." }, "core/audits/accessibility/aria-required-children.js | failureTitle": { "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." }, "core/audits/accessibility/aria-required-children.js | title": { "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." }, "core/audits/accessibility/aria-required-parent.js | description": { "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.7/aria-required-parent)." }, "core/audits/accessibility/aria-required-parent.js | failureTitle": { "message": "Os `[role]`s não são contidos pelo respetivo elemento superior obrigatório" }, "core/audits/accessibility/aria-required-parent.js | title": { "message": "Os `[role]`s são contidos pelo respetivo elemento superior obrigatório" }, "core/audits/accessibility/aria-roles.js | description": { "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.7/aria-roles)." }, "core/audits/accessibility/aria-roles.js | failureTitle": { "message": "Os valores `[role]` não são válidos" }, "core/audits/accessibility/aria-roles.js | title": { "message": "Os valores `[role]` são válidos" }, "core/audits/accessibility/aria-toggle-field-name.js | description": { "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.7/aria-toggle-field-name)." }, "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": { "message": "Os campos ativar/desativar ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-toggle-field-name.js | title": { "message": "Os campos ativar/desativar ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-tooltip-name.js | description": { "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.7/aria-tooltip-name)." }, "core/audits/accessibility/aria-tooltip-name.js | failureTitle": { "message": "Os elementos `tooltip` ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-tooltip-name.js | title": { "message": "Os elementos `tooltip` ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-treeitem-name.js | description": { "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.7/aria-treeitem-name)." }, "core/audits/accessibility/aria-treeitem-name.js | failureTitle": { "message": "Os elementos `treeitem` ARIA não têm nomes acessíveis" }, "core/audits/accessibility/aria-treeitem-name.js | title": { "message": "Os elementos `treeitem` ARIA têm nomes acessíveis" }, "core/audits/accessibility/aria-valid-attr-value.js | description": { "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.7/aria-valid-attr-value)." }, "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": { "message": "Os atributos `[aria-*]` não têm valores válidos" }, "core/audits/accessibility/aria-valid-attr-value.js | title": { "message": "Os atributos `[aria-*]` têm valores válidos" }, "core/audits/accessibility/aria-valid-attr.js | description": { "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.7/aria-valid-attr)." }, "core/audits/accessibility/aria-valid-attr.js | failureTitle": { "message": "Os atributos `[aria-*]` não são válidos ou têm erros ortográficos" }, "core/audits/accessibility/aria-valid-attr.js | title": { "message": "Os atributos `[aria-*]` são válidos e não têm erros ortográficos" }, "core/audits/accessibility/axe-audit.js | failingElementsHeader": { "message": "Elementos reprovados" }, "core/audits/accessibility/button-name.js | description": { "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.7/button-name)." }, "core/audits/accessibility/button-name.js | failureTitle": { "message": "Os botões não têm um nome acessível" }, "core/audits/accessibility/button-name.js | title": { "message": "Os botões têm um nome acessível" }, "core/audits/accessibility/bypass.js | description": { "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.7/bypass)." }, "core/audits/accessibility/bypass.js | failureTitle": { "message": "A página não contém um título, um link para ignorar ou uma região de ponto de referência" }, "core/audits/accessibility/bypass.js | title": { "message": "A página contém um título, um link para ignorar ou uma região de ponto de referência" }, "core/audits/accessibility/color-contrast.js | description": { "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.7/color-contrast)." }, "core/audits/accessibility/color-contrast.js | failureTitle": { "message": "As cores de primeiro e de segundo plano não têm uma relação de contraste suficiente" }, "core/audits/accessibility/color-contrast.js | title": { "message": "As cores de segundo plano e de primeiro plano têm uma relação de contraste suficiente" }, "core/audits/accessibility/definition-list.js | description": { "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.7/definition-list)." }, "core/audits/accessibility/definition-list.js | failureTitle": { "message": "Os `<dl>`s não contêm apenas grupos de `<dt>` e `<dd>` devidamente ordenados, nem elementos `<script>`, `<template>` ou `<div>`." }, "core/audits/accessibility/definition-list.js | title": { "message": "Os `<dl>`s contêm apenas grupos de `<dt>` e `<dd>` devidamente ordenados e elementos `<script>`, `<template>` ou `<div>`." }, "core/audits/accessibility/dlitem.js | description": { "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.7/dlitem)." }, "core/audits/accessibility/dlitem.js | failureTitle": { "message": "Os itens de lista de definição não estão unidos em elementos `<dl>`" }, "core/audits/accessibility/dlitem.js | title": { "message": "Os itens de lista de definição estão unidos em elementos `<dl>`" }, "core/audits/accessibility/document-title.js | description": { "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.7/document-title)." }, "core/audits/accessibility/document-title.js | failureTitle": { "message": "O documento não tem um elemento `<title>`" }, "core/audits/accessibility/document-title.js | title": { "message": "O documento tem um elemento `<title>`" }, "core/audits/accessibility/duplicate-id-active.js | description": { "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.7/duplicate-id-active)." }, "core/audits/accessibility/duplicate-id-active.js | failureTitle": { "message": "Os atributos `[id]` nos elementos ativos e focáveis não são exclusivos" }, "core/audits/accessibility/duplicate-id-active.js | title": { "message": "Os atributos `[id]` nos elementos ativos e focáveis são exclusivos" }, "core/audits/accessibility/duplicate-id-aria.js | description": { "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.7/duplicate-id-aria)." }, "core/audits/accessibility/duplicate-id-aria.js | failureTitle": { "message": "Os ID ARIA não são exclusivos" }, "core/audits/accessibility/duplicate-id-aria.js | title": { "message": "Os IDs ARIA são exclusivos" }, "core/audits/accessibility/form-field-multiple-labels.js | description": { "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.7/form-field-multiple-labels)." }, "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": { "message": "Os campos do formulário contêm várias etiquetas" }, "core/audits/accessibility/form-field-multiple-labels.js | title": { "message": "Nenhum campo do formulário contém várias etiquetas" }, "core/audits/accessibility/frame-title.js | description": { "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.7/frame-title)." }, "core/audits/accessibility/frame-title.js | failureTitle": { "message": "Os elementos `<frame>` ou `<iframe>` não têm um título" }, "core/audits/accessibility/frame-title.js | title": { "message": "Os elementos `<frame>` ou `<iframe>` têm um título" }, "core/audits/accessibility/heading-order.js | description": { "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.7/heading-order)." }, "core/audits/accessibility/heading-order.js | failureTitle": { "message": "Os elementos do título não se encontram numa ordem sequencialmente decrescente" }, "core/audits/accessibility/heading-order.js | title": { "message": "Os elementos do título encontram-se numa ordem sequencialmente decrescente" }, "core/audits/accessibility/html-has-lang.js | description": { "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.7/html-has-lang)." }, "core/audits/accessibility/html-has-lang.js | failureTitle": { "message": "O elemento `<html>` não tem um atributo `[lang]`" }, "core/audits/accessibility/html-has-lang.js | title": { "message": "O elemento `<html>` tem um atributo `[lang]`" }, "core/audits/accessibility/html-lang-valid.js | description": { "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.7/html-lang-valid)." }, "core/audits/accessibility/html-lang-valid.js | failureTitle": { "message": "O elemento `<html>` tem um valor válido para o respetivo atributo `[lang]`." }, "core/audits/accessibility/html-lang-valid.js | title": { "message": "O elemento `<html>` tem um valor válido para o respetivo atributo `[lang]`" }, "core/audits/accessibility/image-alt.js | description": { "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.7/image-alt)." }, "core/audits/accessibility/image-alt.js | failureTitle": { "message": "Os elementos de imagem não têm atributos `[alt]`" }, "core/audits/accessibility/image-alt.js | title": { "message": "Os elementos de imagem têm atributos `[alt]`" }, "core/audits/accessibility/input-image-alt.js | description": { "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.7/input-image-alt)." }, "core/audits/accessibility/input-image-alt.js | failureTitle": { "message": "Os elementos `<input type=\"image\">` não têm texto `[alt]`" }, "core/audits/accessibility/input-image-alt.js | title": { "message": "Os elementos `<input type=\"image\">` têm texto `[alt]`" }, "core/audits/accessibility/label.js | description": { "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.7/label)." }, "core/audits/accessibility/label.js | failureTitle": { "message": "Os elementos de formulário não têm etiquetas associadas" }, "core/audits/accessibility/label.js | title": { "message": "Os elementos de formulário têm etiquetas associadas" }, "core/audits/accessibility/link-name.js | description": { "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.7/link-name)." }, "core/audits/accessibility/link-name.js | failureTitle": { "message": "Os links não têm um nome percetível" }, "core/audits/accessibility/link-name.js | title": { "message": "Os links têm um nome percetível" }, "core/audits/accessibility/list.js | description": { "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.7/list)." }, "core/audits/accessibility/list.js | failureTitle": { "message": "As listas não contêm apenas elementos `<li>` e elementos de suporte de script (`<script>` e `<template>`)." }, "core/audits/accessibility/list.js | title": { "message": "As listas contêm apenas elementos `<li>` e elementos de suporte de script (`<script>` e `<template>`)." }, "core/audits/accessibility/listitem.js | description": { "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.7/listitem)." }, "core/audits/accessibility/listitem.js | failureTitle": { "message": "Os itens de lista (`<li>`) não estão contidos nos elementos superiores `<ul>`, `<ol>` ou `<menu>`." }, "core/audits/accessibility/listitem.js | title": { "message": "Os itens de lista (`<li>`) estão contidos nos elementos superiores `<ul>`, `<ol>` ou `<menu>`" }, "core/audits/accessibility/meta-refresh.js | description": { "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.7/meta-refresh)." }, "core/audits/accessibility/meta-refresh.js | failureTitle": { "message": "O documento utiliza `<meta http-equiv=\"refresh\">`" }, "core/audits/accessibility/meta-refresh.js | title": { "message": "O documento não utiliza `<meta http-equiv=\"refresh\">`" }, "core/audits/accessibility/meta-viewport.js | description": { "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.7/meta-viewport)." }, "core/audits/accessibility/meta-viewport.js | failureTitle": { "message": "O `[user-scalable=\"no\"]` é utilizado no elemento `<meta name=\"viewport\">` ou o atributo `[maximum-scale]` é inferior a 5." }, "core/audits/accessibility/meta-viewport.js | title": { "message": "O `[user-scalable=\"no\"]` não é utilizado no elemento `<meta name=\"viewport\">` e o atributo `[maximum-scale]` não é inferior a 5." }, "core/audits/accessibility/object-alt.js | description": { "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.7/object-alt)." }, "core/audits/accessibility/object-alt.js | failureTitle": { "message": "Os elementos `<object>` não têm texto alternativo" }, "core/audits/accessibility/object-alt.js | title": { "message": "Os elementos `<object>` têm texto alternativo" }, "core/audits/accessibility/tabindex.js | description": { "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.7/tabindex)." }, "core/audits/accessibility/tabindex.js | failureTitle": { "message": "Alguns elementos têm um valor `[tabindex]` superior a 0" }, "core/audits/accessibility/tabindex.js | title": { "message": "Nenhum elemento tem um valor `[tabindex]` superior a 0" }, "core/audits/accessibility/td-headers-attr.js | description": { "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.7/td-headers-attr)." }, "core/audits/accessibility/td-headers-attr.js | failureTitle": { "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." }, "core/audits/accessibility/td-headers-attr.js | title": { "message": "As células num elemento `<table>` que utilizam o atributo `[headers]` referem-se a células de tabela dentro da mesma tabela." }, "core/audits/accessibility/th-has-data-cells.js | description": { "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.7/th-has-data-cells)." }, "core/audits/accessibility/th-has-data-cells.js | failureTitle": { "message": "Os elementos `<th>` e os elementos com `[role=\"columnheader\"/\"rowheader\"]` não têm as células de dados que descrevem." }, "core/audits/accessibility/th-has-data-cells.js | title": { "message": "Os elementos `<th>` e os elementos com `[role=\"columnheader\"/\"rowheader\"]` têm as células de dados que descrevem." }, "core/audits/accessibility/valid-lang.js | description": { "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.7/valid-lang)." }, "core/audits/accessibility/valid-lang.js | failureTitle": { "message": "Os atributos `[lang]` não têm um valor válido" }, "core/audits/accessibility/valid-lang.js | title": { "message": "Os atributos `[lang]` têm um valor válido" }, "core/audits/accessibility/video-caption.js | description": { "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.7/video-caption)." }, "core/audits/accessibility/video-caption.js | failureTitle": { "message": "Os elementos `<video>` não contêm um elemento `<track>` com `[kind=\"captions\"]`" }, "core/audits/accessibility/video-caption.js | title": { "message": "Os elementos `<video>` contêm um elemento `<track>` com `[kind=\"captions\"]`" }, "core/audits/autocomplete.js | columnCurrent": { "message": "Valor atual" }, "core/audits/autocomplete.js | columnSuggestions": { "message": "Símbolo sugerido" }, "core/audits/autocomplete.js | description": { "message": "O atributo `autocomplete` ajuda os utilizadores a enviarem os formulários mais rapidamente. Para reduzir o esforço dos utilizadores, considere ativá-lo ao definir o atributo `autocomplete` para um valor válido. [Saiba mais acerca do `autocomplete` em formulários](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)" }, "core/audits/autocomplete.js | failureTitle": { "message": "Os elementos `<input>` não têm atributos `autocomplete` corretos" }, "core/audits/autocomplete.js | manualReview": { "message": "Requer revisão manual" }, "core/audits/autocomplete.js | reviewOrder": { "message": "Reveja a ordem dos símbolos" }, "core/audits/autocomplete.js | title": { "message": "Os elementos `<input>` utilizam o atributo `autocomplete` corretamente" }, "core/audits/autocomplete.js | warningInvalid": { "message": "Símbolo(s) de `autocomplete`\": \"{token}\" é inválido em {snippet}." }, "core/audits/autocomplete.js | warningOrder": { "message": "Reveja a ordem dos símbolos: \"{tokens}\" em {snippet}" }, "core/audits/bf-cache.js | actionableFailureType": { "message": "Acionável" }, "core/audits/bf-cache.js | description": { "message": "Muitas navegações são realizadas ao retroceder para uma página anterior ou avançar novamente. A cache para a frente/para trás (bfcache) pode acelerar estas navegações de retorno. [Saiba mais sobre a bfcache](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)" }, "core/audits/bf-cache.js | displayValue": { "message": "{itemCount,plural, =1{1 motivo da falha}other{# motivos da falha}}" }, "core/audits/bf-cache.js | failureReasonColumn": { "message": "Motivo da falha" }, "core/audits/bf-cache.js | failureTitle": { "message": "A página impediu o restauro da cache para a frente/para trás" }, "core/audits/bf-cache.js | failureTypeColumn": { "message": "Tipo de falha" }, "core/audits/bf-cache.js | notActionableFailureType": { "message": "Não acionável" }, "core/audits/bf-cache.js | supportPendingFailureType": { "message": "Suporte do navegador pendente" }, "core/audits/bf-cache.js | title": { "message": "A página não impediu o restauro da cache para a frente/para trás" }, "core/audits/bootup-time.js | chromeExtensionsWarning": { "message": "As extensões do Chrome afetam negativamente o desempenho de carregamento desta página. Experimente efetuar uma auditoria à página no modo de navegação anónima ou com um perfil do Chrome sem extensões." }, "core/audits/bootup-time.js | columnScriptEval": { "message": "Avaliação do script" }, "core/audits/bootup-time.js | columnScriptParse": { "message": "Análise do script" }, "core/audits/bootup-time.js | columnTotal": { "message": "Tempo total da CPU" }, "core/audits/bootup-time.js | description": { "message": "Considere reduzir o tempo despendido a analisar, compilar e executar JS. Poderá descobrir que é útil publicar payloads de JS mais pequenos. [Saiba como reduzir o tempo de execução de JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)." }, "core/audits/bootup-time.js | failureTitle": { "message": "Reduza o tempo de execução de JavaScript" }, "core/audits/bootup-time.js | title": { "message": "Tempo de execução de JavaScript" }, "core/audits/byte-efficiency/duplicated-javascript.js | description": { "message": "Remova módulos de JavaScript grandes e duplicados de pacotes para reduzir bytes desnecessários consumidos pela atividade de rede. " }, "core/audits/byte-efficiency/duplicated-javascript.js | title": { "message": "Remova módulos duplicados em pacotes JavaScript" }, "core/audits/byte-efficiency/efficient-animated-content.js | description": { "message": "Os GIFs grandes são ineficientes para publicação de conteúdo animado. Para poupar bytes de rede, considere usar vídeos MPEG4/WebM para animações e ficheiros PNG/WebP para imagens estáticas em vez de GIFs. [Saiba mais acerca dos formatos de vídeo eficientes](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)" }, "core/audits/byte-efficiency/efficient-animated-content.js | title": { "message": "Utilize formatos de vídeo para conteúdo animado" }, "core/audits/byte-efficiency/legacy-javascript.js | description": { "message": "Os polyfills e as transformações permitem que os navegadores antigos usem novas funcionalidades de JavaScript. No entanto, muitos não são necessários para os navegadores modernos. Para o seu JavaScript integrado, adote uma estratégia de implementação de scripts moderna através da deteção da funcionalidade module/nomodule para reduzir a quantidade de código enviado para os navegadores modernos, mantendo, ao mesmo tempo, a compatibilidade com os navegadores antigos. [Saiba como usar o JavaScript moderno](https://web.dev/publish-modern-javascript/)" }, "core/audits/byte-efficiency/legacy-javascript.js | title": { "message": "Evite a publicação do JavaScript antigo em navegadores modernos" }, "core/audits/byte-efficiency/modern-image-formats.js | description": { "message": "Muitas vezes, os formatos de imagens como WebP e AVIF proporcionam uma melhor compressão do que os formatos PNG ou JPEG, o que se traduz em transferências mais rápidas e num menor consumo de dados. [Saiba mais acerca dos formatos de imagens modernos](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)." }, "core/audits/byte-efficiency/modern-image-formats.js | title": { "message": "Publique imagens em formatos de última geração" }, "core/audits/byte-efficiency/offscreen-images.js | description": { "message": "Considere carregar as imagens não visíveis e ocultas em diferido após a conclusão do carregamento de todos os recursos críticos, para reduzir o tempo até à interação. [Saiba como adiar imagens não visíveis](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)." }, "core/audits/byte-efficiency/offscreen-images.js | title": { "message": "Adie as imagens não visíveis" }, "core/audits/byte-efficiency/render-blocking-resources.js | description": { "message": "Os recursos estão a bloquear o primeiro preenchimento da página. Considere publicar JS/CSS críticos inline e adiar todos os JS/estilos não críticos. [Saiba como eliminar os recursos que bloqueiam a renderização](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)." }, "core/audits/byte-efficiency/render-blocking-resources.js | title": { "message": "Elimine recursos que bloqueiam o processamento" }, "core/audits/byte-efficiency/total-byte-weight.js | description": { "message": "Os grandes payloads de rede têm custos reais para os utilizadores e estão fortemente correlacionados com tempos de carregamento demorados. [Saiba como reduzir os tamanhos dos payloads](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)." }, "core/audits/byte-efficiency/total-byte-weight.js | displayValue": { "message": "O tamanho total era {totalBytes, number, bytes} KiB." }, "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": { "message": "Evite enormes payloads de rede" }, "core/audits/byte-efficiency/total-byte-weight.js | title": { "message": "Evita enormes payloads de rede" }, "core/audits/byte-efficiency/unminified-css.js | description": { "message": "Reduzir os ficheiros CSS pode reduzir os tamanhos dos payloads de rede. [Saiba como reduzir o CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)." }, "core/audits/byte-efficiency/unminified-css.js | title": { "message": "Reduza o CSS" }, "core/audits/byte-efficiency/unminified-javascript.js | description": { "message": "Reduzir os ficheiros JavaScript pode reduzir os tamanhos dos payloads e o tempo de análise de scripts. [Saiba como reduzir o JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)." }, "core/audits/byte-efficiency/unminified-javascript.js | title": { "message": "Reduza o JavaScript" }, "core/audits/byte-efficiency/unused-css-rules.js | description": { "message": "Reduza as regras não usadas das folhas de estilos e adie o CSS não usado de conteúdo na parte superior para diminuir a quantidade de bytes consumidos pela atividade da rede. [Saiba como reduzir o CSS não usado](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)." }, "core/audits/byte-efficiency/unused-css-rules.js | title": { "message": "Reduza o CSS" }, "core/audits/byte-efficiency/unused-javascript.js | description": { "message": "Reduza o JavaScript não usado e adie o carregamento de scripts até serem necessários para diminuir a quantidade de bytes consumidos pela atividade da rede. [Saiba como reduzir o JavaScript não usado](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)." }, "core/audits/byte-efficiency/unused-javascript.js | title": { "message": "Reduza o JavaScript não utilizado" }, "core/audits/byte-efficiency/uses-long-cache-ttl.js | description": { "message": "Uma longa duração total da cache pode acelerar as visitas repetidas à sua página. [Saiba mais acerca das políticas de cache eficientes](https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl/)." }, "core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": { "message": "{itemCount,plural, =1{1 recurso encontrado}other{# recursos encontrados}}" }, "core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": { "message": "Publique recursos estáticos com uma política de cache eficiente" }, "core/audits/byte-efficiency/uses-long-cache-ttl.js | title": { "message": "Utiliza uma política de cache eficiente em recursos estáticos" }, "core/audits/byte-efficiency/uses-optimized-images.js | description": { "message": "As imagens otimizadas são carregadas mais rapidamente e consomem menos dados móveis. [Saiba como codificar imagens de forma eficiente](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)." }, "core/audits/byte-efficiency/uses-optimized-images.js | title": { "message": "Codifique as imagens de forma eficiente" }, "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": { "message": "Dimensões reais" }, "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": { "message": "Dimensões apresentadas" }, "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": { "message": "As imagens eram maiores do que o respetivo tamanho apresentado" }, "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": { "message": "As imagem eram adequadas para o respetivo tamanho apresentado" }, "core/audits/byte-efficiency/uses-responsive-images.js | description": { "message": "Publique imagens com um tamanho adequado para poupar dados móveis e melhorar o tempo de carregamento. [Saiba como dimensionar imagens](https://developer.chrome.com/docs/lighthouse/performance/uses-responsive-images/)." }, "core/audits/byte-efficiency/uses-responsive-images.js | title": { "message": "Dimensione adequadamente as imagens" }, "core/audits/byte-efficiency/uses-text-compression.js | description": { "message": "Os recursos baseados em texto devem ser publicados com compressão (gzip, Deflate ou Brotli) para reduzir o total de bytes de rede. [Saiba mais acerca da compressão de texto](https://developer.chrome.com/docs/lighthouse/performance/uses-text-compression/)." }, "core/audits/byte-efficiency/uses-text-compression.js | title": { "message": "Ative a compressão de texto" }, "core/audits/content-width.js | description": { "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/)." }, "core/audits/content-width.js | explanation": { "message": "O tamanho da área visível de {innerWidth} px não corresponde ao tamanho da janela de {outerWidth} px." }, "core/audits/content-width.js | failureTitle": { "message": "O conteúdo não é dimensionado corretamente para a área visível" }, "core/audits/content-width.js | title": { "message": "O conteúdo é dimensionado corretamente para a área visível" }, "core/audits/critical-request-chains.js | description": { "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/)." }, "core/audits/critical-request-chains.js | displayValue": { "message": "{itemCount,plural, =1{1 cadeia encontrada}other{# cadeias encontradas}}" }, "core/audits/critical-request-chains.js | title": { "message": "Evite encadear pedidos críticos" }, "core/audits/csp-xss.js | columnDirective": { "message": "Diretiva" }, "core/audits/csp-xss.js | columnSeverity": { "message": "Gravidade" }, "core/audits/csp-xss.js | description": { "message": "Uma Política de Segurança de Conteúdos (CSP) forte reduz significativamente o risco de ataques de cross-site scripting (XSS). [Saiba como usar uma CSP para evitar XSS](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)" }, "core/audits/csp-xss.js | itemSeveritySyntax": { "message": "Sintaxe" }, "core/audits/csp-xss.js | metaTagMessage": { "message": "A página contém uma CSP definida numa etiqueta <meta>. Considere mover a CSP para um cabeçalho HTTP ou definir outra CSP rigorosa num cabeçalho HTTP." }, "core/audits/csp-xss.js | noCsp": { "message": "Não foi encontrada nenhuma CSP no modo de aplicação." }, "core/audits/csp-xss.js | title": { "message": "Certifique-se de que a CSP é eficaz contra ataques XSS" }, "core/audits/deprecations.js | columnDeprecate": { "message": "Descontinuação/aviso" }, "core/audits/deprecations.js | columnLine": { "message": "Linha" }, "core/audits/deprecations.js | description": { "message": "As APIs descontinuadas serão eventualmente removidas do navegador. [Saiba mais acerca das APIs descontinuadas](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)." }, "core/audits/deprecations.js | displayValue": { "message": "{itemCount,plural, =1{1 aviso encontrado}other{# avisos encontrados}}" }, "core/audits/deprecations.js | failureTitle": { "message": "Utiliza APIs descontinuadas" }, "core/audits/deprecations.js | title": { "message": "Evita APIs descontinuadas" }, "core/audits/dobetterweb/charset.js | description": { "message": "É obrigatória uma declaração de codificação de carateres. Pode ser realizada com uma tag `<meta>` nos primeiros 1024 bytes do HTML ou no cabeçalho da resposta do HTTP de tipo de conteúdo. [Saiba mais acerca da declaração de codificação de carateres](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)." }, "core/audits/dobetterweb/charset.js | failureTitle": { "message": "A declaração de charset está em falta ou ocorre demasiado tarde no HTML" }, "core/audits/dobetterweb/charset.js | title": { "message": "Define o charset adequadamente" }, "core/audits/dobetterweb/doctype.js | description": { "message": "Especificar um doctype impede que o navegador mude para o modo quirks. [Saiba mais acerca da declaração doctype](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)." }, "core/audits/dobetterweb/doctype.js | explanationBadDoctype": { "message": "O nome do doctype deve ser a string `html`" }, "core/audits/dobetterweb/doctype.js | explanationLimitedQuirks": { "message": "O documento contém um `doctype` que aciona o `limited-quirks-mode`" }, "core/audits/dobetterweb/doctype.js | explanationNoDoctype": { "message": "O documento deve conter um doctype" }, "core/audits/dobetterweb/doctype.js | explanationPublicId": { "message": "Era esperado que o PublicId fosse uma string vazia" }, "core/audits/dobetterweb/doctype.js | explanationSystemId": { "message": "Era esperado que o SystemId fosse uma string vazia." }, "core/audits/dobetterweb/doctype.js | explanationWrongDoctype": { "message": "O documento contém um `doctype` que aciona o `quirks-mode`" }, "core/audits/dobetterweb/doctype.js | failureTitle": { "message": "A página não possui o doctype HTML, o que faz com que o modo quirks seja acionado" }, "core/audits/dobetterweb/doctype.js | title": { "message": "A página possui o doctype HTML" }, "core/audits/dobetterweb/dom-size.js | columnStatistic": { "message": "Estatística" }, "core/audits/dobetterweb/dom-size.js | columnValue": { "message": "Valor" }, "core/audits/dobetterweb/dom-size.js | description": { "message": "Um DOM grande irá aumentar a utilização da memória, gerar [cálculos de estilo](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) mais demorados e produzir [ajustes de esquema](https://developers.google.com/speed/articles/reflow) dispendiosos. [Saiba como evitar um tamanho excessivo do DOM](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)." }, "core/audits/dobetterweb/dom-size.js | displayValue": { "message": "{itemCount,plural, =1{1 elemento}other{# elementos}}" }, "core/audits/dobetterweb/dom-size.js | failureTitle": { "message": "Evite um tamanho excessivo do DOM" }, "core/audits/dobetterweb/dom-size.js | statisticDOMDepth": { "message": "Profundidade máxima do DOM" }, "core/audits/dobetterweb/dom-size.js | statisticDOMElements": { "message": "Total de elementos DOM" }, "core/audits/dobetterweb/dom-size.js | statisticDOMWidth": { "message": "Máximo de elementos secundários" }, "core/audits/dobetterweb/dom-size.js | title": { "message": "Evita um tamanho excessivo do DOM" }, "core/audits/dobetterweb/geolocation-on-start.js | description": { "message": "Os utilizadores desconfiam ou ficam confusos perante os sites que pedem a sua localização sem contexto. Em vez disso, considere associar o pedido a uma ação do utilizador. [Saiba mais acerca da autorização de geolocalização](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)." }, "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": { "message": "Solicita a autorização de geolocalização no carregamento da página" }, "core/audits/dobetterweb/geolocation-on-start.js | title": { "message": "Evita a solicitação da autorização de geolocalização no carregamento da página" }, "core/audits/dobetterweb/inspector-issues.js | columnIssueType": { "message": "Tipo de problema" }, "core/audits/dobetterweb/inspector-issues.js | description": { "message": "Os erros registados no painel `Issues` das Chrome Devtools indicam problemas não resolvidos. Podem ser provenientes de falhas de pedidos de rede, controlos de segurança insuficientes e outras questões do navegador. Abra o painel Issues das Chrome DevTools para visualizar mais detalhes sobre cada erro." }, "core/audits/dobetterweb/inspector-issues.js | failureTitle": { "message": "Foram registados erros no painel `Issues` das Chrome Devtools" }, "core/audits/do