pt_BR.json 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826
  1. {
  2. "lang": "pt_BR",
  3. "rules": {
  4. "accesskeys": {
  5. "description": "Certifique-se de que cada valor do atributo 'acesskey' é único",
  6. "help": "O valor do atributo 'accesskey' deve ser único"
  7. },
  8. "area-alt": {
  9. "description": "Certifique-se de que elementos <area> de mapas de imagem tenham um texto alternativo",
  10. "help": "Elementos <area> ativos devem ter um texto alternativo"
  11. },
  12. "aria-allowed-attr": {
  13. "description": "Certifique-se de que os atributos ARIA são permitidos para a função de um elemento",
  14. "help": "Os elementos devem usar apenas atributos ARIA permitidos"
  15. },
  16. "aria-allowed-role": {
  17. "description": "Certifique-se de que o atributo 'role' tem um valor apropriado para o elemento",
  18. "help": "A função ARIA deve ser apropriada para o elemento"
  19. },
  20. "aria-hidden-body": {
  21. "description": "Certifique-se de que aria-hidden='true' não está presente no elemento <body>.",
  22. "help": "aria-hidden='true' não deve estar presente no elemento <body>"
  23. },
  24. "aria-hidden-focus": {
  25. "description": "Certifique-se de que elementos com aria-hidden não contenham elementos focalizáveis",
  26. "help": "Elementos ocultados através de ARIA não devem conter elementos focalizáveis"
  27. },
  28. "aria-input-field-name": {
  29. "description": "Certifique-se de que cada campo de entrada ARIA tenha um nome acessível",
  30. "help": "Campos de entrada ARIA tenham um nome acessível"
  31. },
  32. "aria-required-attr": {
  33. "description": "Certifique-se de que elementos com funções ARIA tenham todos os atributos ARIA necessários",
  34. "help": "Os atributos ARIA necessários devem ser fornecidos"
  35. },
  36. "aria-required-children": {
  37. "description": "Certifique-se de que elementos com uma função ARIA que requer funções filhas as contenham",
  38. "help": "Certas funções ARIA devem conter filhos específicos"
  39. },
  40. "aria-required-parent": {
  41. "description": "Certifique-se de que elementos com uma função ARIA que requer funções pais estejam contidas nestas",
  42. "help": "Certas funções ARIA devem estar contidas em pais específicos"
  43. },
  44. "aria-roledescription": {
  45. "description": "Certifique-se de que 'aria-roledescription' somente é utilizado em elementos com uma função implícita ou explícita",
  46. "help": "Use 'aria-roledescription' em elementos com função semântica"
  47. },
  48. "aria-roles": {
  49. "description": "Certifique-se de que todos os elementos com um atributo 'role' utilizem um valor válido",
  50. "help": "Os ARIA 'roles' utilizados devem ter valores válidos"
  51. },
  52. "aria-toggle-field-name": {
  53. "description": "Certifique-se de que cada botão de alternância ARIA tenha um nome acessível",
  54. "help": "Botões de alternância ARIA tenham um nome acessível"
  55. },
  56. "aria-valid-attr-value": {
  57. "description": "Certifique-se de que cada atributo ARIA tenha um valor válido",
  58. "help": "Atributos ARIA devem ter valores válidos"
  59. },
  60. "aria-valid-attr": {
  61. "description": "Certifique-se de que atributos que se iniciem com aria- são atributos ARIA válidos",
  62. "help": "Atributos ARIA devem ter nomes válidos"
  63. },
  64. "audio-caption": {
  65. "description": "Certifique-se de que elementos <audio> tenham legendas",
  66. "help": "Elementos <audio> devem ter uma trilha de legenda"
  67. },
  68. "autocomplete-valid": {
  69. "description": "Certifique-se de que o atributo 'autocomplete' esteja correto e adequado para o campo de formulário",
  70. "help": "Atributo 'autocomplete' deve ser usado corretamente"
  71. },
  72. "avoid-inline-spacing": {
  73. "description": "Certifique-se de que o espaçamento de texto definido via atributos de estilo pode ser ajustado com folhas de estilo personalizadas",
  74. "help": "O espaçamento de texto 'inline' deve ser ajustável com folhas de estilo personalizadas"
  75. },
  76. "blink": {
  77. "description": "Certifique-se de que elementos <blink> não são utilizados",
  78. "help": "Elementos <blink> foram descontinuados e não devem ser utilizados"
  79. },
  80. "button-name": {
  81. "description": "Certifique-se de que botões tenham texto discernível",
  82. "help": "Botões devem ter texto discernível"
  83. },
  84. "bypass": {
  85. "description": "Certifique-se de que cada página tenha ao menos um mecanismo para o usuário ignorar a navegação e ir direto ao conteúdo",
  86. "help": "A página deve ter meios para ignorar blocos repetidos"
  87. },
  88. "color-contrast": {
  89. "description": "Certifique-se de que o contraste entre as cores de primeiro plano e de fundo atenda aos limites de relação de contraste WCAG 2 AA",
  90. "help": "Os elementos devem ter contraste de cor suficiente"
  91. },
  92. "css-orientation-lock": {
  93. "description": "Certifique-se de que o conteúdo não está bloqueado para nenhuma orientação de tela específica, e que o mesmo seja operável em todas as orientações de tela",
  94. "help": "CSS Media queries não são usadas para bloquear a orientação de tela"
  95. },
  96. "definition-list": {
  97. "description": "Certifique-se de que elementos <dl> estão estruturados corretamente",
  98. "help": "Elementos <dl> devem conter diretamente apenas grupos <dt> e <dd> propriamente ordenados, ou elementos <script> ou <template>"
  99. },
  100. "dlitem": {
  101. "description": "Certifique-se de que elementos <dt> e <dd> estão contidos em um elemento <dl>",
  102. "help": "Elementos <dt> e <dd> devem estar contidos em um elemento <dl>"
  103. },
  104. "document-title": {
  105. "description": "Certifique-se de que cada documento HTML contenha um elemento <title> não vazio",
  106. "help": "Documentos devem ter um elemento <title> para ajudar na navegação"
  107. },
  108. "duplicate-id-active": {
  109. "description": "Certifique-se de que cada valor do atributo 'id' de elementos ativos seja único",
  110. "help": "IDs de elementos ativos devem ser únicos"
  111. },
  112. "duplicate-id-aria": {
  113. "description": "Certifique-se de que cada valor do atributo 'id' usado no ARIA e em rótulos seja único",
  114. "help": "IDs usados no ARIA e em 'labels' devem ser únicos"
  115. },
  116. "duplicate-id": {
  117. "description": "Certifique-se de que cada valor do atributo 'id' seja único",
  118. "help": "O valor do atributo 'id' deve ser único"
  119. },
  120. "empty-heading": {
  121. "description": "Certifique-se de que os títulos tenham texto discernível",
  122. "help": "Os títulos não devem ser vazios"
  123. },
  124. "focus-order-semantics": {
  125. "description": "Certifique-se de que os elementos na ordem de foco tenham uma função apropriada",
  126. "help": "Elementos na ordem de foco necessitam de uma função apropriada para conteúdo interativo"
  127. },
  128. "form-field-multiple-labels": {
  129. "description": "Certifique-se de que campos de formulários não tenham múltiplos elementos 'label'",
  130. "help": "Campos de formulário não devem ter múltiplos elementos 'label'"
  131. },
  132. "frame-tested": {
  133. "description": "Certifique-se de que elementos <iframe> e <frame> contenham o script axe-core",
  134. "help": "Os 'frames' devem ser testados com o axe-core"
  135. },
  136. "frame-title-unique": {
  137. "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' único",
  138. "help": "Os 'frames' devem ter um atributo 'title' único"
  139. },
  140. "frame-title": {
  141. "description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' não vazio",
  142. "help": "Os 'frames' devem ter um atributo 'title'"
  143. },
  144. "heading-order": {
  145. "description": "Certifique-se de que a hierarquia dos níveis de títulos seja semanticamente correta",
  146. "help": "Níveis dos títulos devem aumentar de um em um"
  147. },
  148. "hidden-content": {
  149. "description": "Informar aos usuários sobre conteúdo oculto.",
  150. "help": "O conteúdo oculto na página não pode ser analisado"
  151. },
  152. "html-has-lang": {
  153. "description": "Certifique-se de que cada documento HTML tenha um atributo 'lang'",
  154. "help": "O elemento <html> deve ter um atributo 'lang'"
  155. },
  156. "html-lang-valid": {
  157. "description": "Certifique-se de que o atributo 'lang' do elemento <html> tenha um valor válido",
  158. "help": "O elemento <html> deve ter um valor válido para o atributo 'lang'"
  159. },
  160. "html-xml-lang-mismatch": {
  161. "description": "Certifique-se de que elementos HTML com ambos os atributos 'lang' e 'xml:lang' válidos concordem entre si sobre o idioma base da página",
  162. "help": "Elementos HTML com 'lang' e 'xml:lang' devem ter o mesmo idioma base"
  163. },
  164. "identical-links-same-purpose": {
  165. "description": "Certifique-se de que links com o mesmo nome acessível servem a um propósito similar",
  166. "help": "Links com o mesmo nome devem ter um propósito similar"
  167. },
  168. "image-alt": {
  169. "description": "Certifique-se de que elementos <img> tenham texto alternativo ou um 'role' igual a 'none' ou 'presentation'",
  170. "help": "Imagens devem ter texto alternativo"
  171. },
  172. "image-redundant-alt": {
  173. "description": "Certifique-se de que a alternativa de imagem não seja repetida como texto",
  174. "help": "O texto alternativo de imagens não deve ser repetido como texto"
  175. },
  176. "input-button-name": {
  177. "description": "Certifique-se de que botões tenham um texto discernível",
  178. "help": "Botões de controle devem ter um texto discernível"
  179. },
  180. "input-image-alt": {
  181. "description": "Certifique-se de que elementos <input type=\"image\"> tenham um texto alternativo",
  182. "help": "Botões de imagem devem ter um texto alternativo"
  183. },
  184. "label-content-name-mismatch": {
  185. "description": "Certifique-se de que elementos nomeados por meio de seu conteúdo tenham seu texto visível como parte de seu nome acessível",
  186. "help": "Elementos devem ter seu texto visível como parte de seu nome acessível"
  187. },
  188. "label-title-only": {
  189. "description": "Certifique-se de que cada elemento de formulário não seja rotulado apenas usando os atributos 'title' ou 'aria-describedby'",
  190. "help": "Elementos de formulário devem ter um rótulo visível"
  191. },
  192. "label": {
  193. "description": "Certifique-se de que cada elemento de formulário tenha um rótulo",
  194. "help": "Elementos de formulário devem ter rótulos"
  195. },
  196. "landmark-banner-is-top-level": {
  197. "description": "Certifique-se de que a região 'banner' esteja no nível principal",
  198. "help": "A região 'banner' não deve estar contida em outra região"
  199. },
  200. "landmark-complementary-is-top-level": {
  201. "description": "Certifique-se de que a região 'complementary' ou 'aside' estejam no nível principal",
  202. "help": "'Aside' não deve estar contido em outra região"
  203. },
  204. "landmark-contentinfo-is-top-level": {
  205. "description": "Certifique-se de que a região 'contentinfo' esteja no nível principal",
  206. "help": "A região 'contentinfo' não deve estar contida em outra região"
  207. },
  208. "landmark-main-is-top-level": {
  209. "description": "Certifique-se de que a região 'main' esteja no nível principal",
  210. "help": "A região 'main' não deve estar contida em outra região"
  211. },
  212. "landmark-no-duplicate-banner": {
  213. "description": "Certifique-se de que o documento tenha no máximo uma região 'banner'",
  214. "help": "O documento não deve ter mais do que uma região 'banner'"
  215. },
  216. "landmark-no-duplicate-contentinfo": {
  217. "description": "Certifique-se de que o documento tenha no máximo uma região 'contentinfo'",
  218. "help": "O documento não deve ter mais do que uma região 'contentinfo'"
  219. },
  220. "landmark-no-duplicate-main": {
  221. "description": "Certifique-se de que o documento tenha, no máximo, uma região 'main'",
  222. "help": "O documento não deve ter mais de uma região 'main'"
  223. },
  224. "landmark-one-main": {
  225. "description": "Certifique-se de que o documento tenha apenas uma região 'main' e que cada 'iframe' na página tenha no náximo uma região 'main'",
  226. "help": "O documento deve ter uma região 'main'"
  227. },
  228. "landmark-unique": {
  229. "help": "Certifique-se de que as regiões são únicas",
  230. "description": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, um nome acessível) únicos"
  231. },
  232. "link-in-text-block": {
  233. "description": "Links podem ser distinguidos sem depender da cor",
  234. "help": "Links devem ser distinguidos do texto ao redor de uma maneira que não dependa da cor"
  235. },
  236. "link-name": {
  237. "description": "Certifique-se de que links tenham um texto discernível",
  238. "help": "Links devem ter um texto discernível"
  239. },
  240. "list": {
  241. "description": "Certifique-se de que listas sejam estruturadas corretamente",
  242. "help": "Elementos <ul> e <ol> devem conter diretamente apenas elementos <li>, <script> ou <template>"
  243. },
  244. "listitem": {
  245. "description": "Certifique-se de que elementos <li> são usados semanticamente",
  246. "help": "Elementos <li> devem estar contidos em um <ul> ou <ol>"
  247. },
  248. "marquee": {
  249. "description": "Certifique-se de que elementos <marquee> não são utilizados",
  250. "help": "Elementos <marquee> foram descontinuados e não devem ser utilizados"
  251. },
  252. "meta-refresh": {
  253. "description": "Certifique-se de que <meta http-equiv=\"refresh\"> não é utilizado",
  254. "help": "Atualização temporizada não deve existir"
  255. },
  256. "meta-viewport-large": {
  257. "description": "Certifique-se de que <meta name=\"viewport\"> permite ampliar de maneira significativa",
  258. "help": "Os usuários devem poder dar zoom e ampliar o texto em até 500%"
  259. },
  260. "meta-viewport": {
  261. "description": "Certifique-se de que <meta name=\"viewport\"> não desabilite a ampliação de texto e o zoom",
  262. "help": "O zoom e a ampliação de texto não devem ser desabilitados"
  263. },
  264. "no-autoplay-audio": {
  265. "description": "Certifique-se de que elementos <video> ou <audio> não reproduzam áudio automaticamente por mais de 3 segundos sem um mecanismo de controle para parar ou silenciar o áudio",
  266. "help": "Elementos <video> ou <audio> não reproduzam áudio automaticamente"
  267. },
  268. "object-alt": {
  269. "description": "Certifique-se de que elementos <object> tenham um texto alternativo",
  270. "help": "Elementos <object> devem ter um texto alternativo"
  271. },
  272. "p-as-heading": {
  273. "description": "Certifique-se de que elementos <p> não sejam utilizados para estilizar títulos",
  274. "help": "Negrito, itálico e 'font-size' não sejam utilizados para estilizar elementos <p> como um título"
  275. },
  276. "page-has-heading-one": {
  277. "description": "Certifique-se de que a página, ou pelo menos um dos seus 'frames', contenha um título de primeiro nível",
  278. "help": "A página deve conter um título de primeiro nível"
  279. },
  280. "region": {
  281. "description": "Certifique-se de todo o conteúdo da página esteja contido em regiões (landmarks)",
  282. "help": "Todo o conteúdo da página deve estar contido em regiões (landmarks)"
  283. },
  284. "role-img-alt": {
  285. "description": "Certifique-se de que elementos com [role='img'] tenham texto alternativo",
  286. "help": "Elementos com [role='img'] tenham um texto alternativo"
  287. },
  288. "scope-attr-valid": {
  289. "description": "Certifique-se de que o atributo 'scope' é utilizado corretamente em tabelas",
  290. "help": "O atributo 'scope' deve ser utilizado corretamente"
  291. },
  292. "scrollable-region-focusable": {
  293. "description": "Elementos que tenham conteúdo rolável devem ser acessíveis via teclado",
  294. "help": "Certificar-se de que regiões roláveis tenham acesso via teclado"
  295. },
  296. "server-side-image-map": {
  297. "description": "Certifique-se de que mapas de imagem do lado do servidor não são utilizados",
  298. "help": "Mapas de imagem do lado do servidor não devem ser utilizados"
  299. },
  300. "skip-link": {
  301. "description": "Certifique-se de que todos os links de escape tenham um destino focalizável",
  302. "help": "O destino de um link de escape deve existir e ser focalizável"
  303. },
  304. "svg-img-alt": {
  305. "description": "Certifique-se de que elementos svg com um 'role' de 'img', 'graphics-document' ou 'graphics-symbol' tenham um texto acessível",
  306. "help": "Elementos svg com um 'role' de 'img' tenham um texto alternativo"
  307. },
  308. "tabindex": {
  309. "description": "Certifique-se de que os valores do atributo 'tabindex' não são maiores do que 0",
  310. "help": "Elementos não devem ter um 'tabindex' maior do que zero"
  311. },
  312. "table-duplicate-name": {
  313. "description": "Certifique-se de que tabelas não tenham 'summary' e <caption> iguais",
  314. "help": "O elemento <caption> não deve conter o mesmo texto que o atributo 'summary'"
  315. },
  316. "table-fake-caption": {
  317. "description": "Certifique-se de que tabelas com uma legenda usem o elemento <caption>.",
  318. "help": "Células de dados ou cabeçalhos não devem ser usadas para exibir uma legenda para uma tabela de dados."
  319. },
  320. "td-has-header": {
  321. "description": "Certifique-se de que cada célula de dados não vazia em uma tabela grande tenha um ou mais cabeçalhos",
  322. "help": "Todos os elementos 'td' não vazios em uma tabela maior que 3 por 3 devem ter um cabeçalho associado"
  323. },
  324. "td-headers-attr": {
  325. "description": "Certifique-se de que cada célula em uma tabela usando o atributo 'headers' se refira a outra célula nesta tabela",
  326. "help": "Todas as células em uma tabela que utilizem o atributo 'headers' devem se referir apenas a outras células desta mesma tabela"
  327. },
  328. "th-has-data-cells": {
  329. "description": "Certifique-se de cada cabeçalho em uma tabela de dados se refira a células de dados",
  330. "help": "Todos os elementos 'th' e elementos com role=columnheader/rowheader devem ter células de dados que eles descrevem"
  331. },
  332. "valid-lang": {
  333. "description": "Certifique-se de que os atributos 'lang' tenham valores válidos",
  334. "help": "O atributo 'lang' deve ter um valor válido"
  335. },
  336. "video-caption": {
  337. "description": "Certifique-se de que elementos <video> tenham legendas",
  338. "help": "Elementos <video> devem ter legendas"
  339. }
  340. },
  341. "checks": {
  342. "abstractrole": {
  343. "pass": "As funções abstratas não são utilizadas",
  344. "fail": {
  345. "singular": "A função abstrata não pode ser diretamente utilizada: ${data.values}",
  346. "plural": "As funções abstratas não podem ser diretamente utilizadas: ${data.values}"
  347. }
  348. },
  349. "aria-allowed-attr": {
  350. "pass": "Atributos ARIA são usados corretamente para a função definida",
  351. "fail": {
  352. "singular": "O atributo ARIA não é permitido: ${data.values}",
  353. "plural": "Os atributos ARIA não são permitidos: ${data.values}"
  354. }
  355. },
  356. "aria-allowed-role": {
  357. "pass": "O ARIA 'role' é permitido para o elemento dado",
  358. "fail": {
  359. "singular": "O ARIA 'role' ${data.values} não é permitido para o elemento dado",
  360. "plural": "Os ARIA 'roles' ${data.values} não são permitidos para o elemento dado"
  361. },
  362. "incomplete": {
  363. "singular": "O ARIA 'role' ${data.values} deve ser removido quando o elemento é tornado visível, uma vez que não é permitido para o elemento",
  364. "plural": "Os ARIA 'roles' ${data.values} devem ser removidos quando o elemento é tornado visível, uma vez que não são permitidos para o elemento"
  365. }
  366. },
  367. "aria-hidden-body": {
  368. "pass": "Nenhum atributo 'aria-hidden' está presente no elemento <body>",
  369. "fail": "'aria-hidden=true' não deve estar presente no elemento <body>"
  370. },
  371. "aria-roledescription": {
  372. "pass": "'aria-roledescription' usado em função semântica suportada",
  373. "incomplete": "Garanta que o 'aria-roledescription' é anunciado pelos leitores de tela suportados",
  374. "fail": "Dê ao elemento uma função que suporte 'aria-roledescription'"
  375. },
  376. "aria-errormessage": {
  377. "pass": "Usa uma técnica de 'aria-errormessage' suportada",
  378. "fail": {
  379. "singular": "O valor de 'aria-errormessage' `${data.values}` deve umsar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)",
  380. "plural": "Os valores de 'aria-errormessage' `${data.values}` devem usar uma técnica para anunciar a mensagem (por exemplo, 'aria-live', 'aria-describedby', role=alert, etc.)"
  381. }
  382. },
  383. "fallbackrole": {
  384. "pass": "Apenas um valor de 'role' deve ser utilizado",
  385. "fail": "Use apenas um valor de 'role', uma vez que funções 'fallback' não são suportadas em navegadores mais antigos"
  386. },
  387. "has-widget-role": {
  388. "pass": "Elemento tem um 'role' de 'widget'.",
  389. "fail": "Elemento não tem um 'role' de 'widget'."
  390. },
  391. "invalidrole": {
  392. "pass": "O ARIA 'role' é válido",
  393. "fail": {
  394. "singular": "O 'role' deve ser um dos ARIA 'roles' válidos: ${data.values}",
  395. "plural": "Os 'roles' devem ser um dos ARIA 'roles' válidos: ${data.values}"
  396. }
  397. },
  398. "no-implicit-explicit-label": {
  399. "pass": "Não há nenhuma divergência entre <label> e o nome acessível",
  400. "incomplete": "Verifique se o <label> não precisa fazer parte do nome do campo ARIA ${data}"
  401. },
  402. "aria-required-attr": {
  403. "pass": "Todos os atributos ARIA necessários estão presentes",
  404. "fail": {
  405. "singular": "Atributo ARIA necessário ausente: ${data.values}",
  406. "plural": "Atributos ARIA necessários ausentes: ${data.values}"
  407. }
  408. },
  409. "aria-required-children": {
  410. "pass": "Os ARIA filhos necessários estão presentes",
  411. "fail": {
  412. "singular": "Função ARIA filha necessária ausente: ${data.values}",
  413. "plural": "Funções ARIA filhas necessárias ausentes: ${data.values}"
  414. },
  415. "incomplete": {
  416. "singular": "Esperando função ARIA filha a ser adicionada: ${data.values}",
  417. "plural": "Esperando funções ARIA filhas a serem adicionadas: ${data.values}"
  418. }
  419. },
  420. "aria-required-parent": {
  421. "pass": "A função ARIA pai necessária está presente",
  422. "fail": {
  423. "singular": "Função ARIA pai necessária ausente: ${data.values}",
  424. "plural": "Funções ARIA pais necessárias ausentes: ${data.values}"
  425. }
  426. },
  427. "aria-unsupported-attr": {
  428. "pass": "O atributo ARIA é suportado",
  429. "fail": "O atributo ARIA não é amplamente suportado em leitores de tela e tecnologias assistivas: ${data.values}"
  430. },
  431. "unsupportedrole": {
  432. "pass": "O ARIA 'role' é suportado",
  433. "fail": "O 'role' usado não é amplamente suportado em leitores de tela e tecnologias assistivas: ${data.values}"
  434. },
  435. "aria-valid-attr-value": {
  436. "pass": "Os valores dos atributos ARIA são válidos",
  437. "fail": {
  438. "singular": "Valor de atributo ARIA inválido: ${data.values}",
  439. "plural": "Valores de atributos ARIA inválidos: ${data.values}"
  440. },
  441. "incomplete": {
  442. "noId": "O ID do atributo ARIA do elemento não existe na página: ${data.needsReview}",
  443. "ariaCurrent": "O valor do atributo ARIA é inválido e será tratado como \"aria-current=true\": ${data.needsReview}"
  444. }
  445. },
  446. "aria-valid-attr": {
  447. "pass": {
  448. "singular": "Os nomes dos atributos ARIA são válidos",
  449. "plural": "O nome do atributo ARIA é valido"
  450. },
  451. "fail": {
  452. "singular": "Nome de atributo ARIA inválido: ${data.values}",
  453. "plural": "Nomes de atributos ARIA inválidos: ${data.values}"
  454. }
  455. },
  456. "valid-scrollable-semantics": {
  457. "pass": "O elemento possui semântica válida para um elemento na ordem de foco.",
  458. "fail": "O elemento possui semântica inválida para um elemento na ordem de foco."
  459. },
  460. "color-contrast": {
  461. "pass": "O elemento tem contraste suficiente no valor de ${data.contrastRatio}",
  462. "fail": "O elemento tem contraste insuficiente no valor de ${data.contrastRatio} (cor do primeiro plano: ${data.fgColor}, cor de fundo: ${data.bgColor}, tamanho da fonte: ${data.fontSize}, normal/negrito: ${data.fontWeight}). Contraste esperado no valor de ${data.expectedContrastRatio}",
  463. "incomplete": {
  464. "default": "Impossível determinar o contraste",
  465. "bgImage": "A cor de fundo do elemento não pôde ser determinada devido a uma imagem de fundo",
  466. "bgGradient": "A cor de fundo do elemento não pôde ser determinada devido a um gradiente de fundo",
  467. "imgNode": "A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem",
  468. "bgOverlap": "A cor de fundo do elemento não pôde ser determinada porque está sobreposta por outro elemento",
  469. "fgAlpha": "A cor do primeiro plano do elemento não pôde ser determinada devido à transparência alfa",
  470. "elmPartiallyObscured": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente obscurecida por outro elemento",
  471. "elmPartiallyObscuring": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente sobreposta a outros elementos",
  472. "outsideViewport": "A cor de fundo do elemento não pôde ser determinada porque está fora da 'viewport'",
  473. "equalRatio": "O elemento tem um contraste de 1:1 com plano de fundo",
  474. "shortTextContent": "O conteúdo do elemento é muito curto para determinar se é conteúdo de texto real",
  475. "nonBmp": "O conteúdo do elemento contém apenas caracteres não textuais"
  476. }
  477. },
  478. "link-in-text-block": {
  479. "pass": "Links pode ser distinguidos do texto ao redor de outra maneira além da cor",
  480. "fail": "Links precisam ser distinguidos do texto ao redor de outra maneira além da cor",
  481. "incomplete": {
  482. "default": "Impossível determinar o contraste",
  483. "bgContrast": "O contraste do elemento não pôde ser determinado. Verifique se há um estilo distinto para 'hover'/'focus'.",
  484. "bgImage": "O contraste do elemento não pôde ser determinado devido a uma imagem de fundo",
  485. "bgGradient": "O contraste do elemento não pôde ser determinado devido a um gradiente de fundo",
  486. "imgNode": "O contraste do elemento não pôde ser determinado porque o elemento contém um nó de imagem",
  487. "bgOverlap": "O contraste do elemento não pôde ser determinado devido a uma sobreposição do elemento"
  488. }
  489. },
  490. "autocomplete-appropriate": {
  491. "pass": "o valor 'autocomplete' está em um elemento apropriado",
  492. "fail": "o valor 'autocomplete' está em um elemento inapropriado para este tipo de entrada"
  493. },
  494. "autocomplete-valid": {
  495. "pass": "o atributo 'autocomplete' está corretamente formatado",
  496. "fail": "o atributo 'autocomplete' está incorretamente formatado"
  497. },
  498. "accesskeys": {
  499. "pass": "O valor do atributo 'accesskey' é único",
  500. "fail": "O documento tem múltiplos elementos com a mesma 'accesskey'"
  501. },
  502. "focusable-content": {
  503. "pass": "O elemento contém elementos focalizáveis",
  504. "fail": "O elemento deveria ter conteúdo focalizável"
  505. },
  506. "focusable-disabled": {
  507. "pass": "Nenhum elemento focalizável contido no elemento",
  508. "fail": "Conteúdo focalizável deve ser desabilitado ou removido do DOM"
  509. },
  510. "focusable-element": {
  511. "pass": "O elemento é focalizável",
  512. "fail": "O elemento deveria ser focalizável"
  513. },
  514. "focusable-modal-open": {
  515. "pass": "Nenhum elemento focalizável enquanto um modal está aberto",
  516. "incomplete": "Garanta que os elementos focalizáveis não estejam na ordem de tabulação no estado atual"
  517. },
  518. "focusable-no-name": {
  519. "pass": "O elemento não está na ordem de tabulação ou tem texto acessível",
  520. "fail": "O elemento está na ordem de tabulação e não tem nome acessível"
  521. },
  522. "focusable-not-tabbable": {
  523. "pass": "Nenhum elemento focalizável contido no elemento",
  524. "fail": "Conteúdo focalizável deve ter tabindex='-1' ou ser removido do DOM"
  525. },
  526. "landmark-is-top-level": {
  527. "pass": "A região ${data.role} está no nível principal.",
  528. "fail": "A região ${data.role} está contida em outra região."
  529. },
  530. "page-has-heading-one": {
  531. "pass": "A página tem pelo menos um título de primeiro nível",
  532. "fail": "A página deve ter pelo menos um título de primeiro nível"
  533. },
  534. "page-has-main": {
  535. "pass": "O documento tem pelo menos uma região 'main'",
  536. "fail": "O documento não tem uma região 'main'"
  537. },
  538. "page-no-duplicate-banner": {
  539. "pass": "O documento não tem mais de uma região 'banner'",
  540. "fail": "O documento tem mais de uma região 'banner'"
  541. },
  542. "page-no-duplicate-contentinfo": {
  543. "pass": "O documento não tem mais de uma região 'contentinfo'",
  544. "fail": "O documento tem mais de uma região 'contenteinfo'"
  545. },
  546. "page-no-duplicate-main": {
  547. "pass": "O documento não tem mais de uma região 'main'",
  548. "fail": "O documento tem mais de uma região 'main'"
  549. },
  550. "tabindex": {
  551. "pass": "O elemento não tem um 'tabindex' maior do que 0",
  552. "fail": "O elemento tem um 'tabindex' maior do que 0"
  553. },
  554. "alt-space-value": {
  555. "pass": "O elemento tem um valor válido para o atributo 'alt'",
  556. "fail": "O elemento tem um atributo 'alt' contendo apenas um caracter de espaço, o que não é ignorado por todos os leitores de tela"
  557. },
  558. "duplicate-img-label": {
  559. "pass": "O elemento não duplica um texto existente no atributo 'alt' do elemento <img>",
  560. "fail": "O elemento contém o elemento <img> com texto alternativo duplicando um texto existente"
  561. },
  562. "explicit-label": {
  563. "pass": "O elemento de formulário tem um <label> explícito",
  564. "fail": "O elemento de formulário não tem um <label> explícito"
  565. },
  566. "help-same-as-label": {
  567. "pass": "O texto de ajuda ('title' ou 'aria-describedby') não duplica o texto do rótulo",
  568. "fail": "O texto de ajuda ('title' ou 'aria-describedby') é o igual ao texto do rótulo"
  569. },
  570. "hidden-explicit-label": {
  571. "pass": "O elemento de formulário tem um <label> explícito visível",
  572. "fail": "O elemento de formulário tem um <label> explícito que está oculto"
  573. },
  574. "implicit-label": {
  575. "pass": "O elemento de formulário tem um <label> implícito (envolvido)",
  576. "fail": "O elemento de formulário não tem <label> implícito (envolvido)"
  577. },
  578. "label-content-name-mismatch": {
  579. "pass": "O elemento contém o texto visível como parte do seu nome acessível",
  580. "fail": "O texto dentro do elemento não está incluído no nome acessível"
  581. },
  582. "multiple-label": {
  583. "pass": "O campo de formulário não tem múltiplos elementos <label>",
  584. "incomplete": "O uso de múltiplos elementos <label> não é amplamente suportado pelas tecnologias assistivas. Certifique-se de que o primeiro <label> contém toda a informação necessária."
  585. },
  586. "title-only": {
  587. "pass": "Elementos de formulário não usam somente o atributo 'title' como seu rótulo",
  588. "fail": "Apenas 'title' usado para gerar o rótulo do elemento de formulário"
  589. },
  590. "landmark-is-unique": {
  591. "pass": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, nome acessível) únicos",
  592. "fail": "A região deve ter um 'aria-label', 'aria-labelledby', ou 'title' único para tornar as regiões distinguíveis"
  593. },
  594. "has-lang": {
  595. "pass": "O elemento <html> tem um atributo 'lang'",
  596. "fail": "O elemento <html> não tem um atributo 'lang'"
  597. },
  598. "valid-lang": {
  599. "pass": "O valor do atributo 'lang' está incluso na lista de idiomas válidos",
  600. "fail": "O valor do atributo 'lang' não está incluso na lista de idiomas válidos"
  601. },
  602. "xml-lang-mismatch": {
  603. "pass": "Os atributos 'lang' e 'xml:lang' têm o mesmo idioma base",
  604. "fail": "Os atributos 'lang' e 'xml:lang' não têm o mesmo idioma base"
  605. },
  606. "dlitem": {
  607. "pass": "O item da lista de descrição tem um elemento pai <dl>",
  608. "fail": "O item da lista de descrição não tem um elemente pai <dl>"
  609. },
  610. "listitem": {
  611. "pass": "O item de lista tem um elemento pai <ul>, <ol> ou role=\"list\"",
  612. "fail": {
  613. "default": "O item de lista não tem um elemento pai <ul> ou <ol>",
  614. "roleNotValid": "O item de lista não tem um elemento pai <ul> ou <ol> sem um 'role', ou um role=\"list\""
  615. }
  616. },
  617. "only-dlitems": {
  618. "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <dt> ou <dd>",
  619. "fail": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <dt> ou <dd>"
  620. },
  621. "only-listitems": {
  622. "pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <li>",
  623. "fail": {
  624. "default": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <li>",
  625. "roleNotValid": "O elemento de lista tem filhos diretos com um 'role' que não é permitido: ${data.roles}"
  626. }
  627. },
  628. "structured-dlitems": {
  629. "pass": "Quando não vazio, o elemento tem ambos elementos <dt> e <dd>",
  630. "fail": "Quando não vazio, o elemento não tem nem ao menos um elemento <dt> seguindo de pelo menos um elemento <dd>"
  631. },
  632. "caption": {
  633. "pass": "O elemento multimídia tem uma trilha de legendas",
  634. "incomplete": "Verifique se legendas estão disponíveis para o elemento"
  635. },
  636. "frame-tested": {
  637. "pass": "O 'iframe' foi testado com o 'axe-core'",
  638. "fail": "O 'iframe' não pôde ser testado com o 'axe-core'",
  639. "incomplete": "O 'iframe' ainda tem que ser testado com o 'axe-core'"
  640. },
  641. "no-autoplay-audio": {
  642. "pass": "Elementos <video> ou <audio> não reproduzem áudio por mais do que a duração permitida ou possuem mecanismos de controle",
  643. "fail": "Elementos <video> ou <audio> reproduzem áudio por uma duração maior que a permitida ou não possuem mecanismos de controle",
  644. "incomplete": "Garanta que elementos <video> ou <audio> não reproduzam áudio por mais do que a duração permitida ou disponibilize mecanismos de controle"
  645. },
  646. "css-orientation-lock": {
  647. "pass": "A tela é operável, e o bloqueio da orientação não existe",
  648. "fail": "Bloqueio de orientação CSS aplicado, o que torna a tela inoperável",
  649. "incomplete": "Bloqueio de orientação CSS não pode ser determinado"
  650. },
  651. "meta-viewport-large": {
  652. "pass": "A tag <meta> não impede o zoom significativo em dispositivos móveis",
  653. "fail": "A tag <meta> limita o zoom em dispositivos móveis"
  654. },
  655. "meta-viewport": {
  656. "pass": "A tag <meta> não desabilita o zoom em dispositivos móveis",
  657. "fail": "${data} na tag <meta> desabilita o zoom em dispositivos móveis"
  658. },
  659. "header-present": {
  660. "pass": "A página tem um cabeçalho (header)",
  661. "fail": "A página não tem um cabeçalho (header)"
  662. },
  663. "heading-order": {
  664. "pass": "Hierarquia de títulos válida",
  665. "fail": "Hierarquia de títulos inválida"
  666. },
  667. "identical-links-same-purpose": {
  668. "pass": "Não há outros links com o mesmo nome, que direcionem para uma URL diferente",
  669. "incomplete": "Verifique se os links têm o mesmo propósito ou são intencionalmente ambíguos."
  670. },
  671. "internal-link-present": {
  672. "pass": "Link de escape válido encontrado",
  673. "fail": "Nenhum link de escape válido encontrado"
  674. },
  675. "landmark": {
  676. "pass": "A página tem uma região (landmark)",
  677. "fail": "A página não tem nenhuma região (landmark)"
  678. },
  679. "meta-refresh": {
  680. "pass": "A tag <meta> não atualiza a página imediatamente",
  681. "fail": "A tag <meta> força atualizações temporizadas da página"
  682. },
  683. "p-as-heading": {
  684. "pass": "Elementos <p> não são estilizados como títulos",
  685. "fail": "Elementos de título devem ser utilizados no lugar de elementos <p> estilizados"
  686. },
  687. "region": {
  688. "pass": "Todo o conteúdo da página está contido em regiões (landmarks)",
  689. "fail": "Algum conteúdo da página não está contido em regiões (landmarks)"
  690. },
  691. "skip-link": {
  692. "pass": "Destino do link de escape existe",
  693. "incomplete": "Destino do link de escape deve se tornar visível na ativação",
  694. "fail": "Nenhum destino para o link de escape"
  695. },
  696. "unique-frame-title": {
  697. "pass": "O atributo 'title' do elemento é único",
  698. "fail": "O atributo 'title' do elemento não é único"
  699. },
  700. "duplicate-id-active": {
  701. "pass": "O documento não tem elementos ativos que compartilham o mesmo atributo 'id'",
  702. "fail": "O documento tem elementos ativos com o mesmo atributo 'id': ${data}"
  703. },
  704. "duplicate-id-aria": {
  705. "pass": "O documento não tem elementos referenciados com ARIA ou rótulos que compartilham o mesmo atributo 'id'",
  706. "fail": "O documento tem múltiplos elementos referenciados com ARIA com o mesmo atributo 'id': ${data}"
  707. },
  708. "duplicate-id": {
  709. "pass": "O documento não tem elementos estáticos que compartilham o mesmo atributo 'id'",
  710. "fail": "O documento tem múltiplos elementos estáticos com o mesmo atributo 'id'"
  711. },
  712. "aria-label": {
  713. "pass": "O atributo 'aria-label' existe e não está vazio",
  714. "fail": "O atributo 'aria-label' não existe ou está vazio"
  715. },
  716. "aria-labelledby": {
  717. "pass": "O atributo 'aria-labelledby' existe e referencia elementos que são visíveis aos leitores de tela",
  718. "fail": "O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios"
  719. },
  720. "avoid-inline-spacing": {
  721. "pass": "Nenhum estilo 'inline' com '!important' que afete o espaçamento do texto foi especificado",
  722. "fail": {
  723. "singular": "Remova '!important' do estilo 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores",
  724. "plural": "Remova '!important' dos estilos 'inline' ${data.values}, uma vez que sobrepor isto não é suportado pela maioria dos navegadores"
  725. }
  726. },
  727. "button-has-visible-text": {
  728. "pass": "O elemento tem texto interno que é visível aos leitores de tela",
  729. "fail": "O elemento não tem texto interno que seja visível aos leitores de tela"
  730. },
  731. "doc-has-title": {
  732. "pass": "O documento tem um elemento <title> não vazio",
  733. "fail": "O documento não tem um elemento <title> não vazio"
  734. },
  735. "exists": {
  736. "pass": "O elemento não existe",
  737. "incomplete": "O elemento existe"
  738. },
  739. "has-alt": {
  740. "pass": "O elemento tem um atributo 'alt'",
  741. "fail": "O elemento não tem um atributo 'alt'"
  742. },
  743. "has-visible-text": {
  744. "pass": "O elemento tem texto que é visível aos leitores de tela",
  745. "fail": "O elemento não tem texto que seja visível aos leitores de tela"
  746. },
  747. "is-on-screen": {
  748. "pass": "O elemento não é visível",
  749. "fail": "O elemento é visível"
  750. },
  751. "non-empty-alt": {
  752. "pass": "O elemento tem um atributo 'alt' não vazio",
  753. "fail": "O elemento não tem um atributo 'alt' ou ele está vazio"
  754. },
  755. "non-empty-if-present": {
  756. "pass": {
  757. "default": "O elemento tem um atributo 'value",
  758. "has-label": "O elemento tem um atributo 'value' não vazio"
  759. },
  760. "fail": "O elemento tem um atributo 'value' e ele está vazio"
  761. },
  762. "non-empty-title": {
  763. "pass": "O elemento tem um atributo 'title'",
  764. "fail": "O elemento não tem um atributo 'title' ou ele está vazio"
  765. },
  766. "non-empty-value": {
  767. "pass": "O elemento tem um atributo 'value' não vazio",
  768. "fail": "O elemento não tem um atributo 'value' ou ele está vazio"
  769. },
  770. "role-none": {
  771. "pass": "A semântica padrão do elemento foi sobrescrita com role=\"none\"",
  772. "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"none\""
  773. },
  774. "role-presentation": {
  775. "pass": "A semântica padrão do elemento foi sobrescrita com role=\"presentation\"",
  776. "fail": "A semântica padrão do elemento não foi sobrescrita com role=\"presentation\""
  777. },
  778. "svg-non-empty-title": {
  779. "pass": "O elemento tem um filho <title>",
  780. "fail": "O elemento não tem um filho <title>"
  781. },
  782. "caption-faked": {
  783. "pass": "A primeira linha de uma tabela não é usada como legenda",
  784. "fail": "O primeiro elemento da tabela deve ser um <caption> em vez de uma célula da tabela"
  785. },
  786. "html5-scope": {
  787. "pass": "O atributo 'scope' só é utilizado em elementos de cabeçalho de tabela (<th>)",
  788. "fail": "No HTML 5, os atributos 'scope' só devem ser utilizados em elementos de cabeçalho de tabela (<th>)"
  789. },
  790. "same-caption-summary": {
  791. "pass": "O conteúdo do atributo 'summary' e <caption> não estão duplicados",
  792. "fail": "O conteúdo do atributo 'summary' e <caption> são idênticos"
  793. },
  794. "scope-value": {
  795. "pass": "O atributo 'scope' é usado corretamente",
  796. "fail": "O valor do atributo 'scope' pode ser apenas 'row' ou 'col'"
  797. },
  798. "td-has-header": {
  799. "pass": "Todos as células de dados não vazias possuem cabeçalhos",
  800. "fail": "Algumas células de dados não vazias não possuem cabeçalho"
  801. },
  802. "td-headers-attr": {
  803. "pass": "O atributo 'headers' é usado exclusivamente para referenciar outras células da tabela",
  804. "fail": "O atributo 'headers' não é usado exclusivamente para referenciar outras células da tabela"
  805. },
  806. "th-has-data-cells": {
  807. "pass": "Todas as células de cabeçalho da tabela se referem a células de dados",
  808. "fail": "Nem todas as células de cabeçalho da tabela se referem a células de dados",
  809. "incomplete": "Células de dados da tabela estão ausentes ou vazias"
  810. },
  811. "hidden-content": {
  812. "pass": "Todo o conteúdo da página foi analisado.",
  813. "fail": "Houve problemas ao analisar o conteúdo desta página.",
  814. "incomplete": "Existe conteúdo oculto na página que não foi analisado. Será preciso provocar a exibição deste conteúdo para poder analisá-lo."
  815. }
  816. },
  817. "failureSummaries": {
  818. "any": {
  819. "failureMessage": "Corrija qualquer um dos itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  820. },
  821. "none": {
  822. "failureMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  823. }
  824. },
  825. "incompleteFallbackMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  826. }