govuk_publishing_components 21.16.3 → 21.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/component_guide/accessibility-test.js +0 -6
- data/app/views/govuk_publishing_components/components/docs/machine_readable_metadata.yml +7 -0
- data/lib/govuk_publishing_components/presenters/machine_readable/dataset_schema.rb +34 -0
- data/lib/govuk_publishing_components/presenters/schema_org.rb +3 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/axe-core/CHANGELOG.md +166 -2
- data/node_modules/axe-core/CONTRIBUTING.md +5 -5
- data/node_modules/axe-core/README.md +4 -4
- data/node_modules/axe-core/axe.d.ts +27 -11
- data/node_modules/axe-core/axe.js +9597 -2431
- data/node_modules/axe-core/axe.min.js +2 -2
- data/node_modules/axe-core/bower.json +1 -1
- data/node_modules/axe-core/doc/API.md +211 -128
- data/node_modules/axe-core/doc/accessibility-supported.md +1 -1
- data/node_modules/axe-core/doc/aria-supported.md +4 -13
- data/node_modules/axe-core/doc/backwards-compatibility-doc.md +93 -0
- data/node_modules/axe-core/doc/code-submission-guidelines.md +4 -4
- data/node_modules/axe-core/doc/developer-guide.md +27 -13
- data/node_modules/axe-core/doc/examples/chrome-debugging-protocol/package.json +5 -2
- data/node_modules/axe-core/doc/examples/jasmine/README.md +3 -5
- data/node_modules/axe-core/doc/examples/jasmine/karma.conf.js +29 -0
- data/node_modules/axe-core/doc/examples/jasmine/package.json +6 -5
- data/node_modules/axe-core/doc/examples/jest_react/README.md +1 -1
- data/node_modules/axe-core/doc/examples/jest_react/link.test.js +3 -3
- data/node_modules/axe-core/doc/examples/jest_react/package.json +9 -9
- data/node_modules/axe-core/doc/examples/jsdom/package.json +15 -0
- data/node_modules/axe-core/doc/examples/mocha/README.md +5 -7
- data/node_modules/axe-core/doc/examples/mocha/karma.conf.js +29 -0
- data/node_modules/axe-core/doc/examples/mocha/package.json +7 -6
- data/node_modules/axe-core/doc/examples/phantomjs/README.md +3 -3
- data/node_modules/axe-core/doc/examples/phantomjs/axe-phantom.js +4 -2
- data/node_modules/axe-core/doc/examples/phantomjs/package.json +3 -3
- data/node_modules/axe-core/doc/examples/puppeteer/package.json +5 -2
- data/node_modules/axe-core/doc/examples/qunit/README.md +2 -2
- data/node_modules/axe-core/doc/examples/qunit/package.json +2 -2
- data/node_modules/axe-core/doc/examples/test-examples.js +32 -0
- data/node_modules/axe-core/doc/plugins.md +10 -10
- data/node_modules/axe-core/doc/projects.md +12 -8
- data/node_modules/axe-core/doc/rule-descriptions.md +87 -79
- data/node_modules/axe-core/doc/rule-development.md +30 -2
- data/node_modules/axe-core/lib/checks/aria/allowed-attr.js +1 -1
- data/node_modules/axe-core/lib/checks/aria/aria-roledescription.js +14 -0
- data/node_modules/axe-core/lib/checks/aria/aria-roledescription.json +23 -0
- data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.js +21 -0
- data/node_modules/axe-core/lib/checks/aria/no-implicit-explicit-label.json +11 -0
- data/node_modules/axe-core/lib/checks/aria/required-attr.js +32 -7
- data/node_modules/axe-core/lib/checks/aria/required-children.js +40 -14
- data/node_modules/axe-core/lib/checks/aria/required-children.json +12 -1
- data/node_modules/axe-core/lib/checks/aria/required-parent.js +1 -1
- data/node_modules/axe-core/lib/checks/aria/unsupportedattr.js +1 -1
- data/node_modules/axe-core/lib/checks/aria/valid-attr-value.js +50 -17
- data/node_modules/axe-core/lib/checks/aria/valid-attr-value.json +2 -1
- data/node_modules/axe-core/lib/checks/aria/valid-attr.js +1 -1
- data/node_modules/axe-core/lib/checks/color/color-contrast.js +2 -2
- data/node_modules/axe-core/lib/checks/forms/autocomplete-appropriate.js +4 -4
- data/node_modules/axe-core/lib/checks/forms/autocomplete-valid.js +1 -1
- data/node_modules/axe-core/lib/checks/forms/fieldset.json +1 -0
- data/node_modules/axe-core/lib/checks/forms/group-labelledby.json +1 -0
- data/node_modules/axe-core/lib/checks/keyboard/focusable-content.js +16 -0
- data/node_modules/axe-core/lib/checks/keyboard/focusable-content.json +11 -0
- data/node_modules/axe-core/lib/checks/keyboard/focusable-element.js +12 -0
- data/node_modules/axe-core/lib/checks/keyboard/focusable-element.json +11 -0
- data/node_modules/axe-core/lib/checks/keyboard/tabindex.js +6 -1
- data/node_modules/axe-core/lib/checks/label/alt-space-value.js +3 -2
- data/node_modules/axe-core/lib/checks/label/duplicate-img-label.js +18 -15
- data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.js +13 -3
- data/node_modules/axe-core/lib/checks/label/label-content-name-mismatch.json +4 -0
- data/node_modules/axe-core/lib/checks/label/multiple-label.js +22 -12
- data/node_modules/axe-core/lib/checks/label/multiple-label.json +1 -1
- data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique-after.js +23 -0
- data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.js +7 -0
- data/node_modules/axe-core/lib/checks/landmarks/landmark-is-unique.json +12 -0
- data/node_modules/axe-core/lib/checks/lists/listitem.js +1 -0
- data/node_modules/axe-core/lib/checks/lists/listitem.json +1 -1
- data/node_modules/axe-core/lib/checks/lists/only-listitems.js +0 -4
- data/node_modules/axe-core/lib/checks/mobile/css-orientation-lock.js +8 -6
- data/node_modules/axe-core/lib/checks/navigation/region.js +2 -19
- data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.js +18 -0
- data/node_modules/axe-core/lib/checks/shared/avoid-inline-spacing.json +11 -0
- data/node_modules/axe-core/lib/checks/shared/exists.js +1 -1
- data/node_modules/axe-core/lib/checks/shared/exists.json +1 -1
- data/node_modules/axe-core/lib/checks/shared/has-alt.js +6 -4
- data/node_modules/axe-core/lib/checks/shared/non-empty-alt.js +1 -1
- data/node_modules/axe-core/lib/checks/tables/caption-faked.json +1 -1
- data/node_modules/axe-core/lib/checks/tables/td-has-header.js +5 -4
- data/node_modules/axe-core/lib/checks/tables/th-has-data-cells.js +19 -29
- data/node_modules/axe-core/lib/commons/aria/get-owned-virtual.js +1 -1
- data/node_modules/axe-core/lib/commons/aria/index.js +50 -46
- data/node_modules/axe-core/lib/commons/aria/is-accessible-ref.js +41 -37
- data/node_modules/axe-core/lib/commons/aria/label-virtual.js +2 -2
- data/node_modules/axe-core/lib/commons/aria/roles.js +1 -1
- data/node_modules/axe-core/lib/commons/aria/validate-attr-value.js +0 -1
- data/node_modules/axe-core/lib/commons/color/center-point-of-rect.js +30 -0
- data/node_modules/axe-core/lib/commons/color/contrast.js +7 -1
- data/node_modules/axe-core/lib/commons/color/element-has-image.js +36 -0
- data/node_modules/axe-core/lib/commons/color/get-background-color.js +332 -306
- data/node_modules/axe-core/lib/commons/color/get-foreground-color.js +35 -6
- data/node_modules/axe-core/lib/commons/color/get-own-background-color.js +22 -0
- data/node_modules/axe-core/lib/commons/dom/find-up.js +5 -5
- data/node_modules/axe-core/lib/commons/dom/get-scroll-offset.js +0 -1
- data/node_modules/axe-core/lib/commons/dom/get-tabbable-elements.js +1 -1
- data/node_modules/axe-core/lib/commons/dom/has-content-virtual.js +7 -5
- data/node_modules/axe-core/lib/commons/dom/is-focusable.js +8 -5
- data/node_modules/axe-core/lib/commons/dom/is-hidden-with-css.js +15 -2
- data/node_modules/axe-core/lib/commons/dom/is-in-text-block.js +1 -2
- data/node_modules/axe-core/lib/commons/dom/is-skip-link.js +45 -0
- data/node_modules/axe-core/lib/commons/dom/is-visible.js +43 -17
- data/node_modules/axe-core/lib/commons/dom/is-visual-content.js +0 -1
- data/node_modules/axe-core/lib/commons/dom/visually-contains.js +0 -1
- data/node_modules/axe-core/lib/commons/dom/visually-overlaps.js +0 -1
- data/node_modules/axe-core/lib/commons/forms/index.js +8 -0
- data/node_modules/axe-core/lib/commons/forms/is-aria-combobox.js +13 -0
- data/node_modules/axe-core/lib/commons/forms/is-aria-listbox.js +13 -0
- data/node_modules/axe-core/lib/commons/forms/is-aria-range.js +14 -0
- data/node_modules/axe-core/lib/commons/forms/is-aria-textbox.js +13 -0
- data/node_modules/axe-core/lib/commons/forms/is-native-select.js +13 -0
- data/node_modules/axe-core/lib/commons/forms/is-native-textbox.js +28 -0
- data/node_modules/axe-core/lib/commons/table/get-cell-position.js +2 -2
- data/node_modules/axe-core/lib/commons/table/get-headers.js +55 -11
- data/node_modules/axe-core/lib/commons/table/get-scope.js +1 -1
- data/node_modules/axe-core/lib/commons/table/is-data-table.js +0 -1
- data/node_modules/axe-core/lib/commons/table/to-grid.js +2 -2
- data/node_modules/axe-core/lib/commons/text/accessible-text-virtual.js +5 -5
- data/node_modules/axe-core/lib/commons/text/form-control-value.js +18 -30
- data/node_modules/axe-core/lib/commons/text/is-icon-ligature.js +210 -0
- data/node_modules/axe-core/lib/commons/text/is-valid-autocomplete.js +0 -1
- data/node_modules/axe-core/lib/commons/text/label-text.js +1 -1
- data/node_modules/axe-core/lib/commons/text/label-virtual.js +1 -1
- data/node_modules/axe-core/lib/commons/text/native-text-methods.js +1 -1
- data/node_modules/axe-core/lib/commons/text/subtree-text.js +3 -3
- data/node_modules/axe-core/lib/commons/text/unicode.js +15 -0
- data/node_modules/axe-core/lib/commons/text/visible-text-nodes.js +25 -0
- data/node_modules/axe-core/lib/commons/text/visible-virtual.js +1 -1
- data/node_modules/axe-core/lib/core/base/audit.js +90 -15
- data/node_modules/axe-core/lib/core/base/cache.js +33 -0
- data/node_modules/axe-core/lib/core/base/check.js +48 -1
- data/node_modules/axe-core/lib/core/base/context.js +15 -14
- data/node_modules/axe-core/lib/core/base/rule.js +223 -46
- data/node_modules/axe-core/lib/core/base/virtual-node/abstract-virtual-node.js +40 -0
- data/node_modules/axe-core/lib/core/base/virtual-node/serial-virtual-node.js +86 -0
- data/node_modules/axe-core/lib/core/base/virtual-node/virtual-node.js +85 -0
- data/node_modules/axe-core/lib/core/constants.js +10 -2
- data/node_modules/axe-core/lib/core/imports/index.js +28 -3
- data/node_modules/axe-core/lib/core/index.js +2 -4
- data/node_modules/axe-core/lib/core/public/configure.js +28 -1
- data/node_modules/axe-core/lib/core/public/run-rules.js +2 -0
- data/node_modules/axe-core/lib/core/public/run-virtual-rule.js +50 -0
- data/node_modules/axe-core/lib/core/public/run.js +13 -2
- data/node_modules/axe-core/lib/core/reporters/helpers/process-aggregate.js +1 -1
- data/node_modules/axe-core/lib/core/reporters/na.js +4 -0
- data/node_modules/axe-core/lib/core/reporters/raw-env.js +12 -0
- data/node_modules/axe-core/lib/core/reporters/raw.js +25 -1
- data/node_modules/axe-core/lib/core/utils/are-styles-set.js +4 -7
- data/node_modules/axe-core/lib/core/utils/assert.js +12 -0
- data/node_modules/axe-core/lib/core/utils/collect-results-from-frames.js +2 -2
- data/node_modules/axe-core/lib/core/utils/contains.js +27 -13
- data/node_modules/axe-core/lib/core/utils/css-parser.js +2 -0
- data/node_modules/axe-core/lib/core/utils/element-matches.js +5 -1
- data/node_modules/axe-core/lib/core/utils/escape-selector.js +1 -2
- data/node_modules/axe-core/lib/core/utils/flattened-tree.js +47 -61
- data/node_modules/axe-core/lib/core/utils/get-check-option.js +0 -1
- data/node_modules/axe-core/lib/core/utils/get-friendly-uri-end.js +1 -1
- data/node_modules/axe-core/lib/core/utils/get-node-attributes.js +21 -0
- data/node_modules/axe-core/lib/core/utils/get-scroll.js +39 -0
- data/node_modules/axe-core/lib/core/utils/get-selector.js +9 -6
- data/node_modules/axe-core/lib/core/utils/get-stylesheet-factory.js +51 -0
- data/node_modules/axe-core/lib/core/utils/get-xpath.js +0 -1
- data/node_modules/axe-core/lib/core/utils/is-hidden.js +16 -4
- data/node_modules/axe-core/lib/core/utils/is-html-element.js +5 -5
- data/node_modules/axe-core/lib/core/utils/is-shadow-root.js +3 -3
- data/node_modules/axe-core/lib/core/utils/memoize.js +17 -0
- data/node_modules/axe-core/lib/core/utils/parse-crossorigin-stylesheet.js +53 -0
- data/node_modules/axe-core/lib/core/utils/parse-sameorigin-stylesheet.js +96 -0
- data/node_modules/axe-core/lib/core/utils/parse-stylesheet.js +70 -0
- data/node_modules/axe-core/lib/core/utils/performance-timer.js +7 -2
- data/node_modules/axe-core/lib/core/utils/preload-cssom.js +77 -281
- data/node_modules/axe-core/lib/core/utils/preload.js +49 -23
- data/node_modules/axe-core/lib/core/utils/qsa.js +39 -50
- data/node_modules/axe-core/lib/core/utils/respondable.js +20 -3
- data/node_modules/axe-core/lib/core/utils/rule-should-run.js +0 -1
- data/node_modules/axe-core/lib/core/utils/scroll-state.js +12 -25
- data/node_modules/axe-core/lib/core/utils/select.js +12 -23
- data/node_modules/axe-core/lib/core/utils/uuid.js +1 -2
- data/node_modules/axe-core/lib/intro.stub +1 -1
- data/node_modules/axe-core/lib/misc/incomplete-fallback.json +1 -1
- data/node_modules/axe-core/lib/rules/aria-allowed-attr-matches.js +1 -1
- data/node_modules/axe-core/lib/rules/aria-form-field-name-matches.js +50 -0
- data/node_modules/axe-core/lib/rules/aria-has-attr-matches.js +1 -1
- data/node_modules/axe-core/lib/rules/aria-hidden-focus.json +1 -1
- data/node_modules/axe-core/lib/rules/aria-input-field-name.json +13 -0
- data/node_modules/axe-core/lib/rules/aria-roledescription.json +12 -0
- data/node_modules/axe-core/lib/rules/aria-toggle-field-name.json +18 -0
- data/node_modules/axe-core/lib/rules/autocomplete-matches.js +14 -10
- data/node_modules/axe-core/lib/rules/avoid-inline-spacing.json +12 -0
- data/node_modules/axe-core/lib/rules/button-name.json +3 -5
- data/node_modules/axe-core/lib/rules/checkboxgroup.json +2 -1
- data/node_modules/axe-core/lib/rules/color-contrast-matches.js +37 -22
- data/node_modules/axe-core/lib/rules/duplicate-id-active-matches.js +1 -1
- data/node_modules/axe-core/lib/rules/duplicate-id-misc-matches.js +2 -2
- data/node_modules/axe-core/lib/rules/form-field-multiple-labels.json +1 -1
- data/node_modules/axe-core/lib/rules/html-has-lang.json +1 -0
- data/node_modules/axe-core/lib/rules/image-alt.json +1 -1
- data/node_modules/axe-core/lib/rules/img-redundant-alt.json +3 -3
- data/node_modules/axe-core/lib/rules/input-button-name.json +26 -0
- data/node_modules/axe-core/lib/rules/landmark-unique-matches.js +41 -0
- data/node_modules/axe-core/lib/rules/landmark-unique.json +13 -0
- data/node_modules/axe-core/lib/rules/link-name.json +5 -4
- data/node_modules/axe-core/lib/rules/meta-refresh.json +8 -1
- data/node_modules/axe-core/lib/rules/radiogroup.json +2 -1
- data/node_modules/axe-core/lib/rules/role-img-alt.json +18 -0
- data/node_modules/axe-core/lib/rules/scrollable-region-focusable-matches.js +30 -0
- data/node_modules/axe-core/lib/rules/scrollable-region-focusable.json +12 -0
- data/node_modules/axe-core/lib/rules/skip-link-matches.js +1 -1
- data/node_modules/axe-core/lib/rules/skip-link.json +1 -1
- data/node_modules/axe-core/lib/rules/video-description.json +3 -1
- data/node_modules/axe-core/locales/de.json +1 -5
- data/node_modules/axe-core/locales/es.json +773 -0
- data/node_modules/axe-core/locales/fr.json +15 -19
- data/node_modules/axe-core/locales/ja.json +65 -11
- data/node_modules/axe-core/locales/ko.json +777 -0
- data/node_modules/axe-core/locales/nl.json +35 -35
- data/node_modules/axe-core/locales/pt_BR.json +773 -0
- data/node_modules/axe-core/package.json +56 -52
- data/node_modules/axe-core/sri-history.json +20 -0
- data/node_modules/axe-core/typings/axe-core/axe-core-tests.ts +5 -15
- data/node_modules/govuk-frontend/package.json +10 -10
- metadata +62 -4
- data/node_modules/axe-core/doc/axelogo2018.png +0 -0
- data/node_modules/axe-core/lib/rules/role-not-button-matches.js +0 -1
@@ -1,36 +1,36 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
}
|
2
|
+
"lang": "nl",
|
3
|
+
"checks": {
|
4
|
+
"abstractrole": {
|
5
|
+
"pass": "Er zijn geen abstracte rollen (role) gebruikt",
|
6
|
+
"fail": "Gebruik geen abstracte rollen (role)"
|
7
|
+
},
|
8
|
+
"color-contrast": {
|
9
|
+
"pass": "Element heeft voldoende contrast, namelijk {{=it.data.contrastRatio}}",
|
10
|
+
"fail": "Element heeft onvoldoende contrast, {{=it.data.contrastRatio}} (Voorgrondkleur: {{=it.data.fgColor}}, achtergrondkleur: {{=it.data.bgColor}}, tekstgrootte: {{=it.data.fontSize}}, tekstdikte: {{=it.data.fontWeight}})",
|
11
|
+
"incomplete": {
|
12
|
+
"bgImage": "Element's achtergrondkleur kon niet worden bepaald vanwegen een achtergrondafbeelding",
|
13
|
+
"bgGradient": "Element's achtergrondkleur kon niet worden bepaald vanwegen een gradient kleur",
|
14
|
+
"imgNode": "Element's achtergrondkleur kon niet worden bepaald vanwegen een image node",
|
15
|
+
"bgOverlap": "Element's achtergrondkleur kon niet worden bepaald vanwegen een overlappend element",
|
16
|
+
"fgAlpha": "Element's achtergrondkleur kon niet worden bepaald vanwegen alpha transparency",
|
17
|
+
"default": "Contrastkleur kon niet bepaald worden"
|
18
|
+
}
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"rules": {
|
22
|
+
"aria-required-attr": {
|
23
|
+
"description": "Zorg dat elementen met ARIA rollen (role) de vereiste ARIA attributen hebben",
|
24
|
+
"help": "Voorzien de vereiste ARIA attributen"
|
25
|
+
}
|
26
|
+
},
|
27
|
+
"failureSummaries": {
|
28
|
+
"none": {
|
29
|
+
"failureMessage": "Los al het volgende op:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
30
|
+
},
|
31
|
+
"any": {
|
32
|
+
"failureMessage": "Gebruik een van de volgende oplossingen:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
33
|
+
}
|
34
|
+
},
|
35
|
+
"incompleteFallbackMessage": "axe kon de reden niet vertellen. Tijd om de element inspecteur uit te breken!"
|
36
|
+
}
|
@@ -0,0 +1,773 @@
|
|
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-dpub-role-fallback": {
|
21
|
+
"description": "Certifique-se de que as funções DPUB não suportadas são usados somente em elementos com funções implícitas (fallback)",
|
22
|
+
"help": "As funções DPUB não suportadas devem ser usadas em elementos com funções implícitas (fallback)"
|
23
|
+
},
|
24
|
+
"aria-hidden-body": {
|
25
|
+
"description": "Certifique-se de que aria-hidden='true' não está presente no elemento <body>.",
|
26
|
+
"help": "aria-hidden='true' não deve estar presente no elemento <body>"
|
27
|
+
},
|
28
|
+
"aria-hidden-focus": {
|
29
|
+
"description": "Certifique-se de que elementos com aria-hidden não contenham elementos focalizáveis",
|
30
|
+
"help": "Elementos ocultados através de ARIA não devem conter elementos focalizáveis"
|
31
|
+
},
|
32
|
+
"aria-input-field-name": {
|
33
|
+
"description": "Certifique-se de que cada campo de entrada ARIA tenha um nome acessível",
|
34
|
+
"help": "Campos de entrada ARIA tenham um nome acessível"
|
35
|
+
},
|
36
|
+
"aria-required-attr": {
|
37
|
+
"description": "Certifique-se de que elementos com funções ARIA tenham todos os atributos ARIA necessários",
|
38
|
+
"help": "Os atributos ARIA necessários devem ser fornecidos"
|
39
|
+
},
|
40
|
+
"aria-required-children": {
|
41
|
+
"description": "Certifique-se de que elementos com uma função ARIA que requer funções filhas as contenham",
|
42
|
+
"help": "Certas funções ARIA devem conter filhos específicos"
|
43
|
+
},
|
44
|
+
"aria-required-parent": {
|
45
|
+
"description": "Certifique-se de que elementos com uma função ARIA que requer funções pais estejam contidas nestas",
|
46
|
+
"help": "Certas funções ARIA devem estar contidas em pais específicos"
|
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
|
+
"checkboxgroup": {
|
89
|
+
"description": "Certifique-se de que elementos <input type=\"checkbox\"> relacionados tenham um grupo e que a designação do grupo seja consistente",
|
90
|
+
"help": "Caixas de seleção com o mesmo valor do atributo 'name' devem ser parte de um grupo"
|
91
|
+
},
|
92
|
+
"color-contrast": {
|
93
|
+
"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",
|
94
|
+
"help": "Os elementos devem ter contraste de cor suficiente"
|
95
|
+
},
|
96
|
+
"css-orientation-lock": {
|
97
|
+
"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",
|
98
|
+
"help": "CSS Media queries não são usadas para bloquear a orientação de tela"
|
99
|
+
},
|
100
|
+
"definition-list": {
|
101
|
+
"description": "Certifique-se de que elementos <dl> estão estruturados corretamente",
|
102
|
+
"help": "Elementos <dl> devem conter diretamente apenas grupos <dt> e <dd> propriamente ordenados, ou elementos <script> ou <template>"
|
103
|
+
},
|
104
|
+
"dlitem": {
|
105
|
+
"description": "Certifique-se de que elementos <dt> e <dd> estão contidos em um elemento <dl>",
|
106
|
+
"help": "Elementos <dt> e <dd> devem estar contidos em um elemento <dl>"
|
107
|
+
},
|
108
|
+
"document-title": {
|
109
|
+
"description": "Certifique-se de que cada documento HTML contenha um elemento <title> não vazio",
|
110
|
+
"help": "Documentos devem ter um elemento <title> para ajudar na navegação"
|
111
|
+
},
|
112
|
+
"duplicate-id-active": {
|
113
|
+
"description": "Certifique-se de que cada valor do atributo 'id' de elementos ativos seja único",
|
114
|
+
"help": "IDs de elementos ativos devem ser únicos"
|
115
|
+
},
|
116
|
+
"duplicate-id-aria": {
|
117
|
+
"description": "Certifique-se de que cada valor do atributo 'id' usado no ARIA e em rótulos seja único",
|
118
|
+
"help": "IDs usados no ARIA e em 'labels' devem ser únicos"
|
119
|
+
},
|
120
|
+
"duplicate-id": {
|
121
|
+
"description": "Certifique-se de que cada valor do atributo 'id' seja único",
|
122
|
+
"help": "O valor do atributo 'id' deve ser único"
|
123
|
+
},
|
124
|
+
"empty-heading": {
|
125
|
+
"description": "Certifique-se de que os títulos tenham texto discernível",
|
126
|
+
"help": "Os títulos não devem ser vazios"
|
127
|
+
},
|
128
|
+
"focus-order-semantics": {
|
129
|
+
"description": "Certifique-se de que os elementos na ordem de foco tenham uma função apropriada",
|
130
|
+
"help": "Elementos na ordem de foco necessitam de uma função apropriada para conteúdo interativo"
|
131
|
+
},
|
132
|
+
"form-field-multiple-labels": {
|
133
|
+
"description": "Certifique-se de que campos de formulários não tenham múltiplos elementos 'label'",
|
134
|
+
"help": "Campos de formulário não devem ter múltiplos elementos 'label'"
|
135
|
+
},
|
136
|
+
"frame-tested": {
|
137
|
+
"description": "Certifique-se de que elementos <iframe> e <frame> contenham o script axe-core",
|
138
|
+
"help": "Os 'frames' devem ser testados com o axe-core"
|
139
|
+
},
|
140
|
+
"frame-title-unique": {
|
141
|
+
"description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' único",
|
142
|
+
"help": "Os 'frames' devem ter um atributo 'title' único"
|
143
|
+
},
|
144
|
+
"frame-title": {
|
145
|
+
"description": "Certifique-se de que os elementos <iframe> e <frame> contenham um atributo 'title' não vazio",
|
146
|
+
"help": "Os 'frames' devem ter um atributo 'title'"
|
147
|
+
},
|
148
|
+
"heading-order": {
|
149
|
+
"description": "Certifique-se de que a hierarquia dos níveis de títulos seja semanticamente correta",
|
150
|
+
"help": "Níveis dos títulos devem aumentar de um em um"
|
151
|
+
},
|
152
|
+
"hidden-content": {
|
153
|
+
"description": "Informar aos usuários sobre conteúdo oculto.",
|
154
|
+
"help": "O conteúdo oculto na página não pode ser analisado"
|
155
|
+
},
|
156
|
+
"html-has-lang": {
|
157
|
+
"description": "Certifique-se de que cada documento HTML tenha um atributo 'lang'",
|
158
|
+
"help": "O elemento <html> deve ter um atributo 'lang'"
|
159
|
+
},
|
160
|
+
"html-lang-valid": {
|
161
|
+
"description": "Certifique-se de que o atributo 'lang' do elemento <html> tenha um valor válido",
|
162
|
+
"help": "O elemento <html> deve ter um valor válido para o atributo 'lang'"
|
163
|
+
},
|
164
|
+
"html-xml-lang-mismatch": {
|
165
|
+
"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",
|
166
|
+
"help": "Elementos HTML com 'lang' e 'xml:lang' devem ter o mesmo idioma base"
|
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": "Input buttons must have discernible text"
|
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-one-main": {
|
221
|
+
"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'",
|
222
|
+
"help": "O documento deve ter uma região 'main'"
|
223
|
+
},
|
224
|
+
"landmark-unique": {
|
225
|
+
"help": "Certifique-se de que as regiões são únicas",
|
226
|
+
"description": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, um nome acessível) únicos"
|
227
|
+
},
|
228
|
+
"layout-table": {
|
229
|
+
"description": "Certifique-se de que elementos <table> de apresentação não usem elementos <th>, <caption> ou o atributo 'summary'",
|
230
|
+
"help": "Tabelas de apresentação não devem usar elementos de tabela de dados"
|
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
|
+
"object-alt": {
|
265
|
+
"description": "Certifique-se de que elementos <object> tenham um texto alternativo",
|
266
|
+
"help": "Elementos <object> devem ter um texto alternativo"
|
267
|
+
},
|
268
|
+
"p-as-heading": {
|
269
|
+
"description": "Certifique-se de que elementos <p> não sejam utilizados para estilizar títulos",
|
270
|
+
"help": "Negrito, itálico e 'font-size' não sejam utilizados para estilizar elementos <p> como um título"
|
271
|
+
},
|
272
|
+
"page-has-heading-one": {
|
273
|
+
"description": "Certifique-se de que a página, ou pelo menos um dos seus 'frames', contenha um título de primeiro nível",
|
274
|
+
"help": "A página deve conter um título de primeiro nível"
|
275
|
+
},
|
276
|
+
"radiogroup": {
|
277
|
+
"description": "Certifique-se de que elementos <input type=\"radio\"> relacionados tenham o mesmo grupo e que o nome do grupo é consistente",
|
278
|
+
"help": "Entradas do tipo 'botão de rádio' com o mesmo valor para o atributo 'name' devem ser parte de um grupo"
|
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
|
+
"tabindex": {
|
305
|
+
"description": "Certifique-se de que os valores do atributo 'tabindex' não são maiores do que 0",
|
306
|
+
"help": "Elementos não devem ter um 'tabindex' maior do que zero"
|
307
|
+
},
|
308
|
+
"table-duplicate-name": {
|
309
|
+
"description": "Certifique-se de que tabelas não tenham 'summary' e <caption> iguais",
|
310
|
+
"help": "O elemento <caption> não deve conter o mesmo texto que o atributo 'summary'"
|
311
|
+
},
|
312
|
+
"table-fake-caption": {
|
313
|
+
"description": "Certifique-se de que tabelas com uma legenda usem o elemento <caption>.",
|
314
|
+
"help": "Células de dados ou cabeçalhos não devem ser usadas para exibir uma legenda para uma tabela de dados."
|
315
|
+
},
|
316
|
+
"td-has-header": {
|
317
|
+
"description": "Certifique-se de que cada célula de dados não vazia em uma tabela grande tenha um ou mais cabeçalhos",
|
318
|
+
"help": "Todos os elementos 'td' não vazios em uma tabela maior que 3 por 3 devem ter um cabeçalho associado"
|
319
|
+
},
|
320
|
+
"td-headers-attr": {
|
321
|
+
"description": "Certifique-se de que cada célula em uma tabela usando o atributo 'headers' se refira a outra célula nesta tabela",
|
322
|
+
"help": "Todas as células em uma tabela que utilizem o atributo 'headers' devem se referir apenas a outras células desta mesma tabela"
|
323
|
+
},
|
324
|
+
"th-has-data-cells": {
|
325
|
+
"description": "Certifique-se de cada cabeçalho em uma tabela de dados se refira a células de dados",
|
326
|
+
"help": "Todos os elementos 'th' e elementos com role=columnheader/rowheader devem ter células de dados que eles descrevem"
|
327
|
+
},
|
328
|
+
"valid-lang": {
|
329
|
+
"description": "Certifique-se de que os atributos 'lang' tenham valores válidos",
|
330
|
+
"help": "O atributo 'lang' deve ter um valor válido"
|
331
|
+
},
|
332
|
+
"video-caption": {
|
333
|
+
"description": "Certifique-se de que elementos <video> tenham legendas",
|
334
|
+
"help": "Elementos <video> devem ter legendas"
|
335
|
+
},
|
336
|
+
"video-description": {
|
337
|
+
"description": "Certifique-se de que elementos <video> tenham descrição de áudio",
|
338
|
+
"help": "Elementos <video> devem ter uma faixa de áudio de descrição"
|
339
|
+
}
|
340
|
+
},
|
341
|
+
"checks": {
|
342
|
+
"abstractrole": {
|
343
|
+
"pass": "As funções abstratas não são utilizadas",
|
344
|
+
"fail": "As funções abstratas não podem ser utilizadas diretamente"
|
345
|
+
},
|
346
|
+
"aria-allowed-attr": {
|
347
|
+
"pass": "Atributos ARIA são usados corretamente para a função definida",
|
348
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Os atributos ARIA não são permitidos' : 'O atributo ARIA não é permitido'}}: {{~it.data:value}} {{=value}}{{~}}"
|
349
|
+
},
|
350
|
+
"aria-allowed-role": {
|
351
|
+
"pass": "O ARIA 'role' é permitido para o elemento dado",
|
352
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Os ARIA roles' : 'O ARIA role'}} {{=it.data.join(', ')}} {{=it.data && it.data.length > 1 ? 'não são permitidos' : ' não é permitido'}} para o elemento dado",
|
353
|
+
"incomplete": "{{=it.data && it.data.length > 1 ? 'Os ARIA roles' : 'O ARIA role'}} {{=it.data.join(', ')}} {{=it.data && it.data.length > 1 ? 'devem ser removidos' : 'deve ser removido'}} quando o elemento é tornado visível, uma vez que {{=it.data && it.data.length > 1 ? 'eles não são permitodos' : 'ele não é permitido'}} para o elemento"
|
354
|
+
},
|
355
|
+
"aria-hidden-body": {
|
356
|
+
"pass": "Nenhum atributo 'aria-hidden' está presente no elemento <body>",
|
357
|
+
"fail": "'aria-hidden=true' não deve estar presente no elemento <body>"
|
358
|
+
},
|
359
|
+
"aria-errormessage": {
|
360
|
+
"pass": "Usa uma técnica de 'aria-errormessage' suportada",
|
361
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Os valores do aria-errormessage devem' : 'O valor do aria-errormessage deve'}} {{~it.data:value}} `{{=value}}{{~}}` usar uma técnica para anunciar a mensagem (ex.: aria-live, aria-describedby, role=alert, etc.)"
|
362
|
+
},
|
363
|
+
"has-widget-role": {
|
364
|
+
"pass": "Elemento tem um 'role' de 'widget'.",
|
365
|
+
"fail": "Elemento não tem um 'role' de 'widget'."
|
366
|
+
},
|
367
|
+
"implicit-role-fallback": {
|
368
|
+
"pass": "A função ARIA implícita do elemento é um 'fallback' apropriado",
|
369
|
+
"fail": "A função ARIA implícita do elemento não é um bom 'fallback' para esta função (não suportada)"
|
370
|
+
},
|
371
|
+
"invalidrole": {
|
372
|
+
"pass": "O ARIA 'role' é válido",
|
373
|
+
"fail": "O 'role' deve ser um dos ARIA 'roles' válidos"
|
374
|
+
},
|
375
|
+
"no-implicit-explicit-label": {
|
376
|
+
"pass": "Não há nenhuma divergência entre <label> e o nome acessível",
|
377
|
+
"incomplete": "Verifique se o <label> não precisa fazer parte do nome do campo ARIA {{=it.data}}"
|
378
|
+
},
|
379
|
+
"aria-required-attr": {
|
380
|
+
"pass": "Todos os atributos ARIA necessários estão presentes",
|
381
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Os atributos ARIA necessários não estão presentes' : 'O atributo ARIA necessário não está presente'}}: {{~it.data:value}} {{=value}}{{~}}"
|
382
|
+
},
|
383
|
+
"aria-required-children": {
|
384
|
+
"pass": "Os ARIA filhos necessários estão presentes",
|
385
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'As funções ARIA filhas necessárias não estão presentes' : 'A função ARIA filha necessária está presente'}}: {{~it.data:value}} {{=value}}{{~}}",
|
386
|
+
"incomplete": "{{=it.data && it.data.length > 1 ? 'As funções ARIA filhas a serem adicionadas' : 'A função ARIA filha a ser adicionada'}}:{{~it.data:value}} {{=value}}{{~}}"
|
387
|
+
},
|
388
|
+
"aria-required-parent": {
|
389
|
+
"pass": "A função ARIA pai necessária está presente",
|
390
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'As funções ARIA pais necessárias não estão presentes' : 'A função ARIA necessária não está presente'}}: {{~it.data:value}} {{=value}}{{~}}"
|
391
|
+
},
|
392
|
+
"aria-unsupported-attr": {
|
393
|
+
"pass": "O atributo ARIA é suportado",
|
394
|
+
"fail": "O atributo ARIA não é amplamente suportado em leitores de tela e tecnologias assistivas: {{~it.data:value}} {{=value}}{{~}}"
|
395
|
+
},
|
396
|
+
"unsupportedrole": {
|
397
|
+
"pass": "O ARIA 'role' é suportado",
|
398
|
+
"fail": "O 'role' usado não é amplamente suportado em leitores de tela e tecnologias assistivas: {{~it.data:value}} {{=value}}{{~}}"
|
399
|
+
},
|
400
|
+
"aria-valid-attr-value": {
|
401
|
+
"pass": "Os valores dos atributos ARIA são válidos",
|
402
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Valores dos atributos ARIA inválidos' : 'Valor do atributo ARIA inválido'}}: {{~it.data:value}} {{=value}}{{~}}",
|
403
|
+
"incomplete": "{{=it.data && it.data.length > 1 ? 'Os IDs dos elementos dos atributos ARIA não existem' : 'O ID do elemento do atributo ARIA não existe'}} na página: {{~it.data:value}} {{=value}}{{~}}"
|
404
|
+
},
|
405
|
+
"aria-valid-attr": {
|
406
|
+
"pass": "{{=it.data && it.data.length > 1 ? 'Os nomes dos atributos ARIA são válidos' : 'O nome do atributo ARIA é valido'}}",
|
407
|
+
"fail": "{{=it.data && it.data.length > 1 ? 'Nomes dos atributos ARIA inválidos' : 'Nome do atributo ARIA inválido'}}:{{~it.data:value}} {{=value}}{{~}}"
|
408
|
+
},
|
409
|
+
"valid-scrollable-semantics": {
|
410
|
+
"pass": "O elemento possui semântica válida para um elemento na ordem de foco.",
|
411
|
+
"fail": "O elemento possui semântica inválida para um elemento na ordem de foco."
|
412
|
+
},
|
413
|
+
"color-contrast": {
|
414
|
+
"pass": "O elemento tem contraste suficiente no valor de {{=it.data.contrastRatio}}",
|
415
|
+
"fail": "O elemento tem contraste insuficiente no valor de {{=it.data.contrastRatio}} (cor do primeiro plano: {{=it.data.fgColor}}, cor de fundo: {{=it.data.bgColor}}, tamanho da fonte: {{=it.data.fontSize}}, normal/negrito: {{=it.data.fontWeight}}). Contraste esperado no valor de {{=it.data.expectedContrastRatio}}",
|
416
|
+
"incomplete": {
|
417
|
+
"bgImage": "A cor de fundo do elemento não pôde ser determinada devido a uma imagem de fundo",
|
418
|
+
"bgGradient": "A cor de fundo do elemento não pôde ser determinada devido a um gradiente de fundo",
|
419
|
+
"imgNode": "A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem",
|
420
|
+
"bgOverlap": "A cor de fundo do elemento não pôde ser determinada porque está sobreposta por outro elemento",
|
421
|
+
"fgAlpha": "A cor do primeiro plano do elemento não pôde ser determinada devido à transparência alfa",
|
422
|
+
"elmPartiallyObscured": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente obscurecida por outro elemento",
|
423
|
+
"elmPartiallyObscuring": "A cor de fundo do elemento não pôde ser determinada porque está parcialmente sobreposta a outros elementos",
|
424
|
+
"outsideViewport": "A cor de fundo do elemento não pôde ser determinada porque está fora da 'viewport'",
|
425
|
+
"equalRatio": "O elemento tem um contraste de 1:1 com plano de fundo",
|
426
|
+
"shortTextContent": "O conteúdo do elemento é muito curto para determinar se é conteúdo de texto real",
|
427
|
+
"default": "Impossível determinar o contraste"
|
428
|
+
}
|
429
|
+
},
|
430
|
+
"link-in-text-block": {
|
431
|
+
"pass": "Links pode ser distinguidos do texto ao redor de outra maneira além da cor",
|
432
|
+
"fail": "Links precisam ser distinguidos do texto ao redor de outra maneira além da cor",
|
433
|
+
"incomplete": {
|
434
|
+
"bgContrast": "O contraste do elemento não pôde ser determinado. Verifique se há um estilo distinto para 'hover'/'focus'.",
|
435
|
+
"bgImage": "O contraste do elemento não pôde ser determinado devido a uma imagem de fundo",
|
436
|
+
"bgGradient": "O contraste do elemento não pôde ser determinado devido a um gradiente de fundo",
|
437
|
+
"imgNode": "O contraste do elemento não pôde ser determinado porque o elemento contém um nó de imagem",
|
438
|
+
"bgOverlap": "O contraste do elemento não pôde ser determinado devido a uma sobreposição do elemento",
|
439
|
+
"default": "Impossível determinar o contraste"
|
440
|
+
}
|
441
|
+
},
|
442
|
+
"autocomplete-appropriate": {
|
443
|
+
"pass": "o valor 'autocomplete' está em um elemento apropriado",
|
444
|
+
"fail": "o valor 'autocomplete' está em um elemento inapropriado para este tipo de entrada"
|
445
|
+
},
|
446
|
+
"autocomplete-valid": {
|
447
|
+
"pass": "o atributo 'autocomplete' está corretamente formatado",
|
448
|
+
"fail": "o atributo 'autocomplete' está incorretamente formatado"
|
449
|
+
},
|
450
|
+
"fieldset": {
|
451
|
+
"pass": "O elemento está contido em um 'fieldset'",
|
452
|
+
"fail": "{{var code = it.data && it.data.failureCode;}}{{? code === 'no-legend'}}O 'fieldset' não tem um 'legend' como seu primeiro filho{{?? code === 'empty-legend'}}O 'legend' não tem texto visível para leitores de tela{{?? code === 'mixed-inputs'}}O 'fieldset' contém entradas não relacionadas{{?? code === 'no-group-label'}}O ARIA 'group' não tem 'aria-label' ou 'aria-labelledby'{{?? code === 'group-mixed-inputs'}}O ARIA 'group' contém entradas não relacionadas{{??}}O elemento não está contido em um 'fieldset' ou ARIA 'group'{{?}}"
|
453
|
+
},
|
454
|
+
"group-labelledby": {
|
455
|
+
"pass": "Os elementos com o nome \"{{=it.data.name}}\" possuem tanto um 'label' compartilhado, como um 'label' único, referenciados através do 'aria-labelledby'",
|
456
|
+
"fail": "{{var code = it.data && it.data.failureCode;}}Elementos com o nome \"{{=it.data.name}}\" não possuem todos {{? code === 'no-shared-label' }}um 'label' compartilhado{{?? code === 'no-unique-label' }}um 'label' único{{??}}tanto um 'label' compartilhado, quanto um 'label' único{{?}}, referenciados através do 'aria-labelledby'"
|
457
|
+
},
|
458
|
+
"accesskeys": {
|
459
|
+
"pass": "O valor do atributo 'accesskey' é único",
|
460
|
+
"fail": "O documento tem múltiplos elementos com a mesma 'accesskey'"
|
461
|
+
},
|
462
|
+
"focusable-content": {
|
463
|
+
"pass": "O elemento contém elementos focalizáveis",
|
464
|
+
"fail": "O elemento deveria ter conteúdo focalizável"
|
465
|
+
},
|
466
|
+
"focusable-disabled": {
|
467
|
+
"pass": "Nenhum elemento focalizável contido no elemento",
|
468
|
+
"fail": "Conteúdo focalizável deve ser desabilitado ou removido do DOM"
|
469
|
+
},
|
470
|
+
"focusable-element": {
|
471
|
+
"pass": "O elemento é focalizável",
|
472
|
+
"fail": "O elemento deveria ser focalizável"
|
473
|
+
},
|
474
|
+
"focusable-no-name": {
|
475
|
+
"pass": "O elemento não está na ordem de tabulação ou tem texto acessível",
|
476
|
+
"fail": "O elemento está na ordem de tabulação e não tem nome acessível"
|
477
|
+
},
|
478
|
+
"focusable-not-tabbable": {
|
479
|
+
"pass": "Nenhum elemento focalizável contido no elemento",
|
480
|
+
"fail": "Conteúdo focalizável deve ter tabindex='-1' ou ser removido do DOM"
|
481
|
+
},
|
482
|
+
"landmark-is-top-level": {
|
483
|
+
"pass": "A região {{=it.data.role }} está no nível principal.",
|
484
|
+
"fail": "A região {{=it.data.role }} está contida em outra região."
|
485
|
+
},
|
486
|
+
"page-has-heading-one": {
|
487
|
+
"pass": "A página tem pelo menos um título de primeiro nível",
|
488
|
+
"fail": "A página deve ter pelo menos um título de primeiro nível"
|
489
|
+
},
|
490
|
+
"page-has-main": {
|
491
|
+
"pass": "O documento tem pelo menos uma região 'main'",
|
492
|
+
"fail": "O documento não tem uma região 'main'"
|
493
|
+
},
|
494
|
+
"page-no-duplicate-banner": {
|
495
|
+
"pass": "O documento não tem mais de uma região 'banner'",
|
496
|
+
"fail": "O documento tem mais de uma região 'banner'"
|
497
|
+
},
|
498
|
+
"page-no-duplicate-contentinfo": {
|
499
|
+
"pass": "O documento não tem mais de uma região 'contentinfo'",
|
500
|
+
"fail": "O documento tem mais de uma região 'contenteinfo'"
|
501
|
+
},
|
502
|
+
"page-no-duplicate-main": {
|
503
|
+
"pass": "O documento não tem mais de uma região 'main'",
|
504
|
+
"fail": "O documento tem mais de uma região 'main'"
|
505
|
+
},
|
506
|
+
"tabindex": {
|
507
|
+
"pass": "O elemento não tem um 'tabindex' maior do que 0",
|
508
|
+
"fail": "O elemento tem um 'tabindex' maior do que 0"
|
509
|
+
},
|
510
|
+
"alt-space-value": {
|
511
|
+
"pass": "O elemento tem um valor válido para o atributo 'alt'",
|
512
|
+
"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"
|
513
|
+
},
|
514
|
+
"duplicate-img-label": {
|
515
|
+
"pass": "O elemento não duplica um texto existente no atributo 'alt' do elemento <img>",
|
516
|
+
"fail": "O elemento contém o elemento <img> com texto alternativo duplicando um texto existente"
|
517
|
+
},
|
518
|
+
"explicit-label": {
|
519
|
+
"pass": "O elemento de formulário tem um <label> explícito",
|
520
|
+
"fail": "O elemento de formulário não tem um <label> explícito"
|
521
|
+
},
|
522
|
+
"help-same-as-label": {
|
523
|
+
"pass": "O texto de ajuda ('title' ou 'aria-describedby') não duplica o texto do rótulo",
|
524
|
+
"fail": "O texto de ajuda ('title' ou 'aria-describedby') é o igual ao texto do rótulo"
|
525
|
+
},
|
526
|
+
"hidden-explicit-label": {
|
527
|
+
"pass": "O elemento de formulário tem um <label> explícito visível",
|
528
|
+
"fail": "O elemento de formulário tem um <label> explícito que está oculto"
|
529
|
+
},
|
530
|
+
"implicit-label": {
|
531
|
+
"pass": "O elemento de formulário tem um <label> implícito (envolvido)",
|
532
|
+
"fail": "O elemento de formulário não tem <label> implícito (envolvido)"
|
533
|
+
},
|
534
|
+
"label-content-name-mismatch": {
|
535
|
+
"pass": "O elemento contém o texto visível como parte do seu nome acessível",
|
536
|
+
"fail": "O texto dentro do elemento não está incluído no nome acessível"
|
537
|
+
},
|
538
|
+
"multiple-label": {
|
539
|
+
"pass": "O campo de formulário não tem múltiplos elementos <label>",
|
540
|
+
"fail": "O uso de múltiplos elementos <label> não é amplamente suportado nas tecnologias assistivas"
|
541
|
+
},
|
542
|
+
"title-only": {
|
543
|
+
"pass": "Elementos de formulário não usam somente o atributo 'title' como seu rótulo",
|
544
|
+
"fail": "Apenas 'title' usado para gerar o rótulo do elemento de formulário"
|
545
|
+
},
|
546
|
+
"landmark-is-unique": {
|
547
|
+
"pass": "As regiões devem ter um 'role' ou combinação de 'role'/'label'/'title' (ou seja, nome acessível) únicos",
|
548
|
+
"fail": "A região deve ter um 'aria-label', 'aria-labelledby', ou 'title' único para tornar as regiões distinguíveis"
|
549
|
+
},
|
550
|
+
"has-lang": {
|
551
|
+
"pass": "O elemento <html> tem um atributo 'lang'",
|
552
|
+
"fail": "O elemento <html> não tem um atributo 'lang'"
|
553
|
+
},
|
554
|
+
"valid-lang": {
|
555
|
+
"pass": "O valor do atributo 'lang' está incluso na lista de idiomas válidos",
|
556
|
+
"fail": "O valor do atributo 'lang' não está incluso na lista de idiomas válidos"
|
557
|
+
},
|
558
|
+
"xml-lang-mismatch": {
|
559
|
+
"pass": "Os atributos 'lang' e 'xml:lang' têm o mesmo idioma base",
|
560
|
+
"fail": "Os atributos 'lang' e 'xml:lang' não têm o mesmo idioma base"
|
561
|
+
},
|
562
|
+
"dlitem": {
|
563
|
+
"pass": "O item da lista de descrição tem um elemento pai <dl>",
|
564
|
+
"fail": "O item da lista de descrição não tem um elemente pai <dl>"
|
565
|
+
},
|
566
|
+
"listitem": {
|
567
|
+
"pass": "O item de lista tem um elemento pai <ul>, <ol> ou role=\"list\"",
|
568
|
+
"fail": "O item de lista não tem um elemento pai <ul>, <ol> ou role=\"list\""
|
569
|
+
},
|
570
|
+
"only-dlitems": {
|
571
|
+
"pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <dt> ou <dd>",
|
572
|
+
"fail": "O elemento de lista tem filhos diretos que não são permitidos dentro de elementos <dt> ou <dd>"
|
573
|
+
},
|
574
|
+
"only-listitems": {
|
575
|
+
"pass": "O elemento de lista tem somente filhos diretos que são permitidos dentro de elementos <li>",
|
576
|
+
"fail": "O elemento de lista tem filhos diretos que não são permitidos dentro de elemento <li>"
|
577
|
+
},
|
578
|
+
"structured-dlitems": {
|
579
|
+
"pass": "Quando não vazio, o elemento tem ambos elementos <dt> e <dd>",
|
580
|
+
"fail": "Quando não vazio, o elemento não tem nem ao menos um elemento <dt> seguindo de pelo menos um elemento <dd>"
|
581
|
+
},
|
582
|
+
"caption": {
|
583
|
+
"pass": "O elemento multimídia tem uma trilha de legendas",
|
584
|
+
"incomplete": "Verifique se legendas estão disponíveis para o elemento"
|
585
|
+
},
|
586
|
+
"description": {
|
587
|
+
"pass": "O elemento multimídia tem uma trilha de audiodescrição",
|
588
|
+
"incomplete": "Verifique se a audiodescrição está disponível para o elemento"
|
589
|
+
},
|
590
|
+
"frame-tested": {
|
591
|
+
"pass": "O 'iframe' foi testado com o 'axe-core'",
|
592
|
+
"fail": "O 'iframe' não pôde ser testado com o 'axe-core'",
|
593
|
+
"incomplete": "O 'iframe' ainda tem que ser testado com o 'axe-core'"
|
594
|
+
},
|
595
|
+
"css-orientation-lock": {
|
596
|
+
"pass": "A tela é operável, e o bloqueio da orientação não existe",
|
597
|
+
"fail": "Bloqueio de orientação CSS aplicado, o que torna a tela inoperável",
|
598
|
+
"incomplete": "Bloqueio de orientação CSS não pode ser determinado"
|
599
|
+
},
|
600
|
+
"meta-viewport-large": {
|
601
|
+
"pass": "A tag <meta> não impede o zoom significativo em dispositivos móveis",
|
602
|
+
"fail": "A tag <meta> limita o zoom em dispositivos móveis"
|
603
|
+
},
|
604
|
+
"meta-viewport": {
|
605
|
+
"pass": "A tag <meta> não desabilita o zoom em dispositivos móveis",
|
606
|
+
"fail": "{{=it.data}} na tag <meta> desabilita o zoom em dispositivos móveis"
|
607
|
+
},
|
608
|
+
"header-present": {
|
609
|
+
"pass": "A página tem um cabeçalho (header)",
|
610
|
+
"fail": "A página não tem um cabeçalho (header)"
|
611
|
+
},
|
612
|
+
"heading-order": {
|
613
|
+
"pass": "Hierarquia de títulos válida",
|
614
|
+
"fail": "Hierarquia de títulos inválida"
|
615
|
+
},
|
616
|
+
"internal-link-present": {
|
617
|
+
"pass": "Link de escape válido encontrado",
|
618
|
+
"fail": "Nenhum link de escape válido encontrado"
|
619
|
+
},
|
620
|
+
"landmark": {
|
621
|
+
"pass": "A página tem uma região (landmark)",
|
622
|
+
"fail": "A página não tem nenhuma região (landmark)"
|
623
|
+
},
|
624
|
+
"meta-refresh": {
|
625
|
+
"pass": "A tag <meta> não atualiza a página imediatamente",
|
626
|
+
"fail": "A tag <meta> força atualizações temporizadas da página"
|
627
|
+
},
|
628
|
+
"p-as-heading": {
|
629
|
+
"pass": "Elementos <p> não são estilizados como títulos",
|
630
|
+
"fail": "Elementos de título devem ser utilizados no lugar de elementos <p> estilizados"
|
631
|
+
},
|
632
|
+
"region": {
|
633
|
+
"pass": "Todo o conteúdo da página está contido em regiões (landmarks)",
|
634
|
+
"fail": "Algum conteúdo da página não está contido em regiões (landmarks)"
|
635
|
+
},
|
636
|
+
"skip-link": {
|
637
|
+
"pass": "Destino do link de escape existe",
|
638
|
+
"incomplete": "Destino do link de escape deve se tornar visível na ativação",
|
639
|
+
"fail": "Nenhum destino para o link de escape"
|
640
|
+
},
|
641
|
+
"unique-frame-title": {
|
642
|
+
"pass": "O atributo 'title' do elemento é único",
|
643
|
+
"fail": "O atributo 'title' do elemento não é único"
|
644
|
+
},
|
645
|
+
"duplicate-id-active": {
|
646
|
+
"pass": "O documento não tem elementos ativos que compartilham o mesmo atributo 'id'",
|
647
|
+
"fail": "O documento tem elementos ativos com o mesmo atributo 'id': {{=it.data}}"
|
648
|
+
},
|
649
|
+
"duplicate-id-aria": {
|
650
|
+
"pass": "O documento não tem elementos referenciados com ARIA ou rótulos que compartilham o mesmo atributo 'id'",
|
651
|
+
"fail": "O documento tem múltiplos elementos referenciados com ARIA com o mesmo atributo 'id': {{=it.data}}"
|
652
|
+
},
|
653
|
+
"duplicate-id": {
|
654
|
+
"pass": "O documento não tem elementos estáticos que compartilham o mesmo atributo 'id'",
|
655
|
+
"fail": "O documento tem múltiplos elementos estáticos com o mesmo atributo 'id'"
|
656
|
+
},
|
657
|
+
"aria-label": {
|
658
|
+
"pass": "O atributo 'aria-label' existe e não está vazio",
|
659
|
+
"fail": "O atributo 'aria-label' não existe ou está vazio"
|
660
|
+
},
|
661
|
+
"aria-labelledby": {
|
662
|
+
"pass": "O atributo 'aria-labelledby' existe e referencia elementos que são visíveis aos leitores de tela",
|
663
|
+
"fail": "O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios"
|
664
|
+
},
|
665
|
+
"avoid-inline-spacing": {
|
666
|
+
"pass": "Nenhum estilo 'inline' com '!important' que afete o espaçamento do texto foi especificado",
|
667
|
+
"fail": "Remova a regra '!important' {{=it.data && it.data.length > 1 ? 'dos estilos inline' : 'do estilo inline'}} {{=it.data.join(', ')}}, uma vez que a sua sobreposição não é suportada pela maioria dos navegadores"
|
668
|
+
},
|
669
|
+
"button-has-visible-text": {
|
670
|
+
"pass": "O elemento tem texto interno que é visível aos leitores de tela",
|
671
|
+
"fail": "O elemento não tem texto interno que seja visível aos leitores de tela"
|
672
|
+
},
|
673
|
+
"doc-has-title": {
|
674
|
+
"pass": "O documento tem um elemento <title> não vazio",
|
675
|
+
"fail": "O documento não tem um elemento <title> não vazio"
|
676
|
+
},
|
677
|
+
"exists": {
|
678
|
+
"pass": "O elemento não existe",
|
679
|
+
"fail": "O elemento existe"
|
680
|
+
},
|
681
|
+
"has-alt": {
|
682
|
+
"pass": "O elemento tem um atributo 'alt'",
|
683
|
+
"fail": "O elemento não tem um atributo 'alt'"
|
684
|
+
},
|
685
|
+
"has-visible-text": {
|
686
|
+
"pass": "O elemento tem texto que é visível aos leitores de tela",
|
687
|
+
"fail": "O elemento não tem texto que seja visível aos leitores de tela"
|
688
|
+
},
|
689
|
+
"is-on-screen": {
|
690
|
+
"pass": "O elemento não é visível",
|
691
|
+
"fail": "O elemento é visível"
|
692
|
+
},
|
693
|
+
"non-empty-alt": {
|
694
|
+
"pass": "O elemento tem um atributo 'alt' não vazio",
|
695
|
+
"fail": "O elemento não tem um atributo 'alt' ou ele está vazio"
|
696
|
+
},
|
697
|
+
"non-empty-if-present": {
|
698
|
+
"pass": "O elemento {{?it.data}}tem um atributo 'value' não vazio{{??}}não tem um atributo 'value'{{?}}",
|
699
|
+
"fail": "O elemento tem um atributo 'value' e ele está vazio"
|
700
|
+
},
|
701
|
+
"non-empty-title": {
|
702
|
+
"pass": "O elemento tem um atributo 'title'",
|
703
|
+
"fail": "O elemento não tem um atributo 'title' ou ele está vazio"
|
704
|
+
},
|
705
|
+
"non-empty-value": {
|
706
|
+
"pass": "O elemento tem um atributo 'value' não vazio",
|
707
|
+
"fail": "O elemento não tem um atributo 'value' ou ele está vazio"
|
708
|
+
},
|
709
|
+
"role-none": {
|
710
|
+
"pass": "A semântica padrão do elemento foi sobrescrita com role=\"none\"",
|
711
|
+
"fail": "A semântica padrão do elemento não foi sobrescrita com role=\"none\""
|
712
|
+
},
|
713
|
+
"role-presentation": {
|
714
|
+
"pass": "A semântica padrão do elemento foi sobrescrita com role=\"presentation\"",
|
715
|
+
"fail": "A semântica padrão do elemento não foi sobrescrita com role=\"presentation\""
|
716
|
+
},
|
717
|
+
"caption-faked": {
|
718
|
+
"pass": "A primeira linha de uma tabela não é usada como legenda",
|
719
|
+
"fail": "O primeiro elemento da tabela deve ser um <caption> em vez de uma célula da tabela"
|
720
|
+
},
|
721
|
+
"has-caption": {
|
722
|
+
"pass": "A tabela de layout não usa o elemento <caption>",
|
723
|
+
"fail": "A tabela de layout usa o elemento <caption>"
|
724
|
+
},
|
725
|
+
"has-summary": {
|
726
|
+
"pass": "A tabela de layout não usa o atributo 'summary'",
|
727
|
+
"fail": "A tabela de layout usa o atributo 'summary'"
|
728
|
+
},
|
729
|
+
"has-th": {
|
730
|
+
"pass": "A tabela de layout não usa elementos <th>",
|
731
|
+
"fail": "A tabela de layout usa elementos <th>"
|
732
|
+
},
|
733
|
+
"html5-scope": {
|
734
|
+
"pass": "O atributo 'scope' só é utilizado em elementos de cabeçalho de tabela (<th>)",
|
735
|
+
"fail": "No HTML 5, os atributos 'scope' só devem ser utilizados em elementos de cabeçalho de tabela (<th>)"
|
736
|
+
},
|
737
|
+
"same-caption-summary": {
|
738
|
+
"pass": "O conteúdo do atributo 'summary' e <caption> não estão duplicados",
|
739
|
+
"fail": "O conteúdo do atributo 'summary' e <caption> são idênticos"
|
740
|
+
},
|
741
|
+
"scope-value": {
|
742
|
+
"pass": "O atributo 'scope' é usado corretamente",
|
743
|
+
"fail": "O valor do atributo 'scope' pode ser apenas 'row' ou 'col'"
|
744
|
+
},
|
745
|
+
"td-has-header": {
|
746
|
+
"pass": "Todos as células de dados não vazias possuem cabeçalhos",
|
747
|
+
"fail": "Algumas células de dados não vazias não possuem cabeçalho"
|
748
|
+
},
|
749
|
+
"td-headers-attr": {
|
750
|
+
"pass": "O atributo 'headers' é usado exclusivamente para referenciar outras células da tabela",
|
751
|
+
"fail": "O atributo 'headers' não é usado exclusivamente para referenciar outras células da tabela"
|
752
|
+
},
|
753
|
+
"th-has-data-cells": {
|
754
|
+
"pass": "Todas as células de cabeçalho da tabela se referem a células de dados",
|
755
|
+
"fail": "Nem todas as células de cabeçalho da tabela se referem a células de dados",
|
756
|
+
"incomplete": "Células de dados da tabela estão ausentes ou vazias"
|
757
|
+
},
|
758
|
+
"hidden-content": {
|
759
|
+
"pass": "Todo o conteúdo da página foi analisado.",
|
760
|
+
"fail": "Houve problemas ao analisar o conteúdo desta página.",
|
761
|
+
"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."
|
762
|
+
}
|
763
|
+
},
|
764
|
+
"failureSummaries": {
|
765
|
+
"any": {
|
766
|
+
"failureMessage": "Corrija qualquer um dos itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
767
|
+
},
|
768
|
+
"none": {
|
769
|
+
"failureMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
770
|
+
}
|
771
|
+
},
|
772
|
+
"incompleteFallbackMessage": "Corrija todos os itens a seguir:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
773
|
+
}
|