@surea11y/core 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -7
- package/README.md +19 -3
- package/bin/surea11y-core.js +0 -0
- package/docs/API_STABILITY.md +2 -2
- package/docs/ARIA_DEPRECATION.md +95 -0
- package/docs/ENGINE_OPTIONS.md +14 -10
- package/docs/I18N.md +176 -20
- package/docs/INTEGRATION.md +28 -6
- package/docs/LIMITATIONS.md +1 -1
- package/docs/OUTPUT_SCHEMA.md +13 -3
- package/docs/REPORT.md +2 -0
- package/docs/RULE_AUTHORING.md +53 -0
- package/docs/RULE_CATALOG.md +6 -6
- package/docs/TROUBLESHOOTING.md +2 -2
- package/package.json +8 -1
- package/src/checks/automatic/aria-allowed-attr.js +661 -99
- package/src/checks/automatic/aria-allowed-role.js +14 -16
- package/src/checks/automatic/aria-braille-equivalent.js +17 -19
- package/src/checks/automatic/aria-conditional-attr.js +17 -19
- package/src/checks/automatic/aria-deprecated-role.js +122 -41
- package/src/checks/automatic/aria-hidden-body.js +2 -9
- package/src/checks/automatic/aria-hidden-focus.js +99 -18
- package/src/checks/automatic/aria-prohibited-attr.js +54 -55
- package/src/checks/automatic/aria-prohibited-children.js +26 -26
- package/src/checks/automatic/aria-required-attr.js +14 -17
- package/src/checks/automatic/aria-required-children.js +17 -20
- package/src/checks/automatic/aria-required-parent.js +17 -20
- package/src/checks/automatic/aria-roles-valid.js +66 -27
- package/src/checks/automatic/aria-valid-attr-value.js +18 -21
- package/src/checks/automatic/aria-valid-attr.js +14 -17
- package/src/checks/automatic/autocomplete-valid.js +52 -18
- package/src/checks/automatic/avoid-inline-spacing.js +192 -34
- package/src/checks/automatic/binary-control-name-present.js +30 -24
- package/src/checks/automatic/button-name-present.js +73 -45
- package/src/checks/automatic/canvas-text-alternative-present.js +15 -8
- package/src/checks/automatic/combobox-name-present.js +23 -18
- package/src/checks/automatic/css-orientation-lock.js +22 -22
- package/src/checks/automatic/definition-list-children-valid.js +18 -21
- package/src/checks/automatic/deprecated-elements-not-used.js +14 -16
- package/src/checks/automatic/dialog-name-present.js +24 -19
- package/src/checks/automatic/dlitem-parent-valid.js +15 -17
- package/src/checks/automatic/duplicate-id-aria.js +45 -37
- package/src/checks/automatic/form-control-programmatic-label-present.js +48 -4
- package/src/checks/automatic/form-control-single-label.js +109 -43
- package/src/checks/automatic/html-xml-lang-mismatch.js +2 -9
- package/src/checks/automatic/iframe-focusable-content.js +29 -31
- package/src/checks/automatic/iframe-name-present.js +15 -17
- package/src/checks/automatic/iframe-title-unique.js +18 -23
- package/src/checks/automatic/img-alt-present.js +16 -9
- package/src/checks/automatic/input-image-alt-present.js +99 -48
- package/src/checks/automatic/label-in-name.js +102 -33
- package/src/checks/automatic/language-page-present.js +5 -1
- package/src/checks/automatic/link-in-text-block.js +19 -21
- package/src/checks/automatic/link-name-present.js +75 -47
- package/src/checks/automatic/list-children-valid.js +15 -17
- package/src/checks/automatic/listbox-name-present.js +23 -18
- package/src/checks/automatic/listitem-parent-valid.js +14 -17
- package/src/checks/automatic/menuitem-name-present.js +24 -19
- package/src/checks/automatic/meta-refresh-no-exceptions.js +44 -18
- package/src/checks/automatic/meta-refresh-timing-absent.js +44 -21
- package/src/checks/automatic/meta-viewport-zoom-enabled.js +51 -32
- package/src/checks/automatic/meter-name-present.js +24 -19
- package/src/checks/automatic/nested-interactive-controls-absent.js +179 -51
- package/src/checks/automatic/object-text-alternative-present.js +14 -7
- package/src/checks/automatic/option-name-present.js +24 -19
- package/src/checks/automatic/progressbar-name-present.js +27 -22
- package/src/checks/automatic/searchbox-name-present.js +27 -18
- package/src/checks/automatic/server-side-image-map-absent.js +15 -18
- package/src/checks/automatic/slider-name-present.js +26 -19
- package/src/checks/automatic/spinbutton-name-present.js +27 -18
- package/src/checks/automatic/summary-name-present.js +24 -19
- package/src/checks/automatic/tab-name-present.js +24 -19
- package/src/checks/automatic/table-headers-attr-valid.js +15 -17
- package/src/checks/automatic/table-th-has-data-cells.js +82 -25
- package/src/checks/automatic/target-size-minimum.js +104 -81
- package/src/checks/automatic/td-has-header.js +15 -20
- package/src/checks/automatic/textbox-name-present.js +23 -18
- package/src/checks/automatic/tooltip-name-present.js +24 -19
- package/src/checks/automatic/treeitem-name-present.js +24 -19
- package/src/checks/automatic/valid-lang.js +31 -20
- package/src/checks/manual/accesskeys-manual.js +18 -19
- package/src/checks/manual/aria-checked-state-mismatch-manual.js +19 -22
- package/src/checks/{automatic/bypass-blocks-present.js → manual/bypass-blocks-present-manual.js} +98 -44
- package/src/checks/manual/empty-heading-manual.js +15 -17
- package/src/checks/manual/empty-table-header-manual.js +27 -30
- package/src/checks/manual/form-control-programmatic-label-quality-manual.js +2 -9
- package/src/checks/manual/heading-order-manual.js +17 -22
- package/src/checks/manual/image-redundant-alt-manual.js +14 -17
- package/src/checks/manual/input-image-alt-decorative-manual.js +24 -0
- package/src/checks/manual/label-title-only-manual.js +15 -17
- package/src/checks/manual/landmark-banner-is-top-level-manual.js +25 -39
- package/src/checks/manual/landmark-contentinfo-is-top-level-manual.js +21 -27
- package/src/checks/manual/landmark-main-is-top-level-manual.js +14 -17
- package/src/checks/manual/landmark-no-duplicate-banner-manual.js +2 -7
- package/src/checks/manual/landmark-no-duplicate-contentinfo-manual.js +2 -7
- package/src/checks/manual/landmark-no-duplicate-main-manual.js +2 -7
- package/src/checks/manual/landmark-one-main-manual.js +2 -9
- package/src/checks/manual/landmark-unique-manual.js +22 -27
- package/src/checks/manual/link-name-quality-manual.js +15 -17
- package/src/checks/manual/meta-viewport-large-manual.js +14 -17
- package/src/checks/manual/mouse-only-event-handlers-manual.js +17 -19
- package/src/checks/manual/page-has-heading-one-manual.js +2 -9
- package/src/checks/manual/presentation-role-conflict-manual.js +19 -21
- package/src/checks/manual/region-manual.js +13 -6
- package/src/checks/manual/scope-attr-valid-manual.js +14 -17
- package/src/checks/manual/skip-link-manual.js +39 -47
- package/src/checks/manual/tabindex-manual.js +14 -17
- package/src/checks/manual/table-duplicate-name-manual.js +14 -17
- package/src/core.js +8818 -4330
- package/src/report.js +14 -0
- package/src/sarif.js +2 -2
- package/surea11y.browser.js +4023 -3911
- package/surea11y.i18n.de.js +22 -0
- package/surea11y.i18n.es.js +22 -0
- package/surea11y.i18n.fr.js +22 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MPL-2.0 */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @surea11y/core -- de messages for the standalone browser bundle.
|
|
5
|
+
*
|
|
6
|
+
* Auto-generated by scripts/build-browser.js. Load it after
|
|
7
|
+
* surea11y.browser.js, then scan with { locale: 'de' }:
|
|
8
|
+
*
|
|
9
|
+
* <script src="surea11y.browser.js"></script>
|
|
10
|
+
* <script src="surea11y.i18n.de.js"></script>
|
|
11
|
+
*/
|
|
12
|
+
(function (global) {
|
|
13
|
+
'use strict';
|
|
14
|
+
|
|
15
|
+
if (!global.a11ycore || typeof global.a11ycore.registerMessages !== 'function') {
|
|
16
|
+
throw new Error(
|
|
17
|
+
'surea11y.i18n.de.js: load surea11y.browser.js first.'
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
global.a11ycore.registerMessages("de", {"img_altPresent_title":"\u003cimg> muss ein alt-Attribut haben","img_altPresent_description":"Prüft, ob \u003cimg>-Elemente ein alt-Attribut bereitstellen, um einen Mechanismus für eine Textalternative zu unterstützen.","img_altPresent_summary_fail":"Fehlendes alt-Attribut auf \u003cimg>.","img_altPresent_hint_fail":"Fügen Sie ein alt-Attribut hinzu (verwenden Sie alt=\"\" nur für dekorative Bilder).","area_altPresent_title":"\u003carea> muss ein alt-Attribut haben","area_altPresent_description":"Prüft, ob \u003carea>-Elemente ein alt-Attribut bereitstellen, um einen Mechanismus für eine Textalternative zu unterstützen.","area_altPresent_summary_fail":"Fehlendes alt-Attribut auf \u003carea>.","area_altPresent_hint_fail":"Fügen Sie ein alt-Attribut hinzu (verwenden Sie alt=\"\" nur für dekorative Bereiche).","inputImage_altPresent_title":"\u003cinput type=\"image\"> muss ein alt-Attribut haben","inputImage_altPresent_description":"Prüft, ob \u003cinput type=\"image\">-Elemente ein alt-Attribut bereitstellen, um einen Mechanismus für eine Textalternative zu unterstützen.","inputImage_altPresent_summary_fail":"Fehlendes alt-Attribut auf \u003cinput type=\"image\">.","inputImage_altPresent_hint_fail":"Fügen Sie ein alt-Attribut hinzu (verwenden Sie alt=\"\" nur, wenn ein separater zugänglicher Name bereitgestellt wird).","inputImage_altPresent_summary_defaultName":"Der zugaengliche Name ist der Browser-Standard fuer eine Bildschaltflaeche und sagt nichts aus.","inputImage_altPresent_hint_defaultName":"Ersetzen Sie ihn durch Text, der die Aktion beschreibt, zum Beispiel \"Suchen\".","inputImage_altPresent_summary_emptyAlt":"Ein leeres alt=\"\" auf \u003cinput type=\"image\"> laesst das Steuerelement ohne Namen.","inputImage_altPresent_hint_emptyAlt":"Beschreiben Sie die Aktion in alt, oder benennen Sie das Steuerelement mit aria-label oder aria-labelledby.","ariaHidden_programmaticFocus_review_title":"Programmatischen Fokus bei aria-hidden überprüfen","ariaHidden_programmaticFocus_review_description":"Markiert Elemente, die aria-hidden sind, aber aufgrund von programmatischem Fokus (z. B. tabindex \u003c 0) als geeignet gelten. Überprüfen Sie die beabsichtigte Fokusverwaltung und die Sichtbarkeit für assistive Technologien.","ariaHidden_programmaticFocus_review_summary":"Überprüfung: Ein aria-hidden-Element ist programmatisch fokussierbar.","ariaHidden_programmaticFocus_review_hint":"Prüfen Sie, ob die Fokusverwaltung beabsichtigt ist und ob das Element vor assistiven Technologien verborgen bleiben soll.","canvas_textAltPresent_title":"\u003ccanvas> muss eine Textalternative bereitstellen","canvas_textAltPresent_description":"Prüft, ob \u003ccanvas>-Elemente eine Textalternative über Ersatzinhalt oder einen zugänglichen Namen bereitstellen.","canvas_textAltPresent_summary_fail":"Fehlende Textalternative für \u003ccanvas>.","canvas_textAltPresent_hint_fail":"Stellen Sie einen Ersatztext innerhalb von \u003ccanvas> oder einen zugänglichen Namen bereit (z. B. aria-label/aria-labelledby).","svg_textAltPresent_title":"\u003csvg> muss eine Textalternative bereitstellen","svg_textAltPresent_description":"Prüft, ob inline eingebundene \u003csvg>-Elemente eine Textalternative über ein \u003ctitle>-Element oder einen ARIA-Namen bereitstellen (ein \u003cdesc>-Element allein zählt nicht).","svg_textAltPresent_summary_fail":"Fehlende Textalternative für \u003csvg>.","svg_textAltPresent_hint_fail":"Fügen Sie ein \u003ctitle>-Element mit Text oder einen ARIA-Namen hinzu (aria-label/aria-labelledby) — ein \u003cdesc>-Element allein liefert keinen zugänglichen Namen.","object_textAltPresent_title":"\u003cobject> muss eine Textalternative bereitstellen","object_textAltPresent_description":"Prüft, ob \u003cobject>-Elemente eine Textalternative über Ersatzinhalt oder einen zugänglichen Namen bereitstellen.","object_textAltPresent_summary_fail":"Fehlende Textalternative für \u003cobject>.","object_textAltPresent_hint_fail":"Stellen Sie sinnvollen Ersatzinhalt innerhalb von \u003cobject> bereit, fügen Sie einen zugänglichen Namen hinzu (aria-label/aria-labelledby), oder verwenden Sie ein title-Attribut als Notlösung.","embed_textAltPresent_title":"\u003cembed> muss eine Textalternative bereitstellen","embed_textAltPresent_description":"Prüft, ob \u003cembed>-Elemente eine Textalternative über einen zugänglichen Namen bereitstellen.","embed_textAltPresent_summary_fail":"Fehlende Textalternative für \u003cembed>.","embed_textAltPresent_hint_fail":"Fügen Sie \u003cembed> einen zugänglichen Namen hinzu (vorzugsweise aria-label/aria-labelledby, oder ein title-Attribut als Notlösung).","img_altQuality_title":"\u003cimg>-Alternativtext muss angemessen sein (manuelle Überprüfung)","img_altQuality_description":"Markiert \u003cimg>-Elemente mit nicht leerem Alternativtext zur manuellen Überprüfung der Angemessenheit.","img_altQuality_summary_cantTell":"Überprüfen Sie den Alternativtext von \u003cimg> auf Genauigkeit und Angemessenheit.","img_altQuality_hint_cantTell":"Stellen Sie sicher, dass der Alternativtext den Zweck/die Information des Bildes im Kontext vermittelt (nicht redundant, kein Dateiname).","img_altDecorative_title":"\u003cimg> mit alt=\"\" muss dekorativ sein (manuelle Überprüfung)","img_altDecorative_description":"Markiert \u003cimg>-Elemente mit leerem alt zur manuellen Überprüfung, ob sie rein dekorativ sind.","img_altDecorative_summary_cantTell":"Überprüfen Sie, ob \u003cimg> dekorativ ist (alt=\"\").","img_altDecorative_hint_cantTell":"Bestätigen Sie, dass das Bild rein dekorativ ist. Falls es Information oder Funktion vermittelt, stellen Sie einen aussagekräftigen Alternativtext bereit.","area_altQuality_title":"\u003carea>-Alternativtext muss angemessen sein (manuelle Überprüfung)","area_altQuality_description":"Markiert \u003carea>-Elemente mit nicht leerem Alternativtext zur manuellen Überprüfung der Angemessenheit.","area_altQuality_summary_cantTell":"Überprüfen Sie den Alternativtext von \u003carea> auf Genauigkeit und Angemessenheit.","area_altQuality_hint_cantTell":"Stellen Sie sicher, dass der Alternativtext das Ziel/die Aktion des Bereichs der Image-Map im Kontext identifiziert.","area_altDecorative_title":"\u003carea> mit alt=\"\" muss dekorativ sein (manuelle Überprüfung)","area_altDecorative_description":"Markiert \u003carea>-Elemente mit leerem alt zur manuellen Überprüfung, ob sie dekorativ/nicht informativ sind.","area_altDecorative_summary_cantTell":"Überprüfen Sie, ob \u003carea> dekorativ ist (alt=\"\").","area_altDecorative_hint_cantTell":"Bestätigen Sie, dass der Bereich keine Information oder Funktion vermittelt. Falls er interaktiv oder bedeutsam ist, stellen Sie einen aussagekräftigen Alternativtext bereit.","inputImage_altQuality_title":"\u003cinput type=\"image\">-Alternativtext muss angemessen sein (manuelle Überprüfung)","inputImage_altQuality_description":"Markiert \u003cinput type=\"image\">-Elemente mit nicht leerem Alternativtext zur manuellen Überprüfung der Angemessenheit.","inputImage_altQuality_summary_cantTell":"Überprüfen Sie den Alternativtext von \u003cinput type=\"image\"> auf Genauigkeit und Angemessenheit.","inputImage_altQuality_hint_cantTell":"Stellen Sie sicher, dass der Alternativtext die Aktion des Elements beschreibt (z. B. „Suchen“, „Bestellung abschicken“) im jeweiligen Kontext.","inputImage_altDecorative_title":"\u003cinput type=\"image\"> mit alt=\"\" muss angemessen sein (manuelle Überprüfung)","inputImage_altDecorative_description":"Markiert \u003cinput type=\"image\">-Elemente mit leerem alt zur manuellen Überprüfung (in der Regel bei funktionalen Formularelementen nicht angemessen).","inputImage_altDecorative_summary_cantTell":"Überprüfen Sie \u003cinput type=\"image\"> mit alt=\"\".","inputImage_altDecorative_hint_cantTell":"Dieses Formularelement ist typischerweise funktional. Bestätigen Sie, dass an anderer Stelle ein gleichwertiger zugänglicher Name vorhanden ist, oder stellen Sie einen aussagekräftigen Alternativtext bereit.","canvas_textAltQuality_title":"\u003ccanvas>-Textalternative muss angemessen sein (manuelle Überprüfung)","canvas_textAltQuality_description":"Markiert \u003ccanvas>-Elemente mit erkannter Textalternative zur manuellen Überprüfung von Gleichwertigkeit und Angemessenheit.","canvas_textAltQuality_summary_cantTell":"Überprüfen Sie die Textalternative von \u003ccanvas> auf Gleichwertigkeit und Angemessenheit.","canvas_textAltQuality_hint_cantTell":"Bestätigen Sie, dass der Ersatztext oder der zugängliche Name dieselbe Information/Funktion wie der Canvas-Inhalt vermittelt.","svg_textAltQuality_title":"\u003csvg>-Textalternative muss angemessen sein (manuelle Überprüfung)","svg_textAltQuality_description":"Markiert zutreffende \u003csvg>-Grafiken mit erkannter Textalternative zur manuellen Überprüfung der Angemessenheit.","svg_textAltQuality_summary_cantTell":"Überprüfen Sie die Textalternative von \u003csvg> auf Genauigkeit und Angemessenheit.","svg_textAltQuality_hint_cantTell":"Bestätigen Sie, dass \u003ctitle>/\u003cdesc> oder der ARIA-Name die Bedeutung/den Zweck der Grafik im Kontext vermittelt.","object_textAltQuality_title":"\u003cobject>-Textalternative muss angemessen sein (manuelle Überprüfung)","object_textAltQuality_description":"Markiert \u003cobject>-Elemente mit erkanntem Ersatzinhalt oder Namen zur manuellen Überprüfung von Gleichwertigkeit und Angemessenheit.","object_textAltQuality_summary_cantTell":"Überprüfen Sie die Textalternative von \u003cobject> auf Gleichwertigkeit und Angemessenheit.","object_textAltQuality_hint_cantTell":"Bestätigen Sie, dass der Ersatzinhalt oder der ARIA-Name eine gleichwertige Alternative für den eingebetteten Inhalt bietet.","embed_textAltQuality_title":"\u003cembed>-Textalternative muss angemessen sein (manuelle Überprüfung)","embed_textAltQuality_description":"Markiert \u003cembed>-Elemente mit erkanntem Namen zur manuellen Überprüfung der Angemessenheit.","embed_textAltQuality_summary_cantTell":"Überprüfen Sie die Textalternative von \u003cembed> auf Genauigkeit und Angemessenheit.","embed_textAltQuality_hint_cantTell":"Bestätigen Sie, dass der ARIA-Name oder der title-Wert den eingebetteten Inhalt im Kontext korrekt identifiziert.","videoPoster_textAltPresent_title":"Das Vorschaubild (poster) von \u003cvideo> muss eine Textalternative haben","videoPoster_textAltPresent_description":"Prüft, ob \u003cvideo>-Elemente mit einem Vorschaubild (poster) eine Textalternative (zugänglicher Name) bereitstellen.","videoPoster_textAltPresent_summary_fail":"Fehlende Textalternative für das Vorschaubild (poster) von \u003cvideo>.","videoPoster_textAltPresent_hint_fail":"Stellen Sie für das Vorschaubild einen zugänglichen Namen bereit (vorzugsweise aria-label/aria-labelledby, oder ein title-Attribut als Notlösung).","svgImage_textAltPresent_title":"SVG \u003cimage> muss eine Textalternative haben","svgImage_textAltPresent_description":"Prüft, ob SVG-\u003cimage>-Elemente eine Textalternative über \u003ctitle>/\u003cdesc> oder einen zugänglichen ARIA-Namen bereitstellen.","svgImage_textAltPresent_summary_fail":"Fehlende Textalternative auf SVG \u003cimage>.","svgImage_textAltPresent_hint_fail":"Fügen Sie innerhalb von \u003cimage> ein \u003ctitle> (und optional \u003cdesc>) hinzu, oder stellen Sie aria-label/aria-labelledby bereit.","formControl_programmaticLabelPresent_title":"Formularelemente müssen eine programmatische Beschriftung haben","formControl_programmaticLabelPresent_description":"Prüft, ob Formularelemente eine programmatische Beschriftung über \u003clabel>, aria-label oder aria-labelledby haben.","formControl_programmaticLabelPresent_summary_fail":"Dem Formularelement fehlt eine programmatische Beschriftung.","formControl_programmaticLabelPresent_hint_fail":"Stellen Sie eine \u003clabel>-Zuordnung, aria-label oder aria-labelledby bereit (placeholder/title zählen nicht als Beschriftung).","formControlAccessibleName_description":"Schlägt fehl, wenn ein zutreffendes Formularelement keinen zugänglichen Namen hat (z. B. label, aria-label, aria-labelledby).","formControlAccessibleName_hint_fail":"Stellen Sie einen zugänglichen Namen über ein \u003clabel>, aria-label oder aria-labelledby bereit.","formControlAccessibleName_summary_fail":"Das Formularelement hat keinen zugänglichen Namen.","formControlAccessibleName_title":"Formularelemente müssen einen zugänglichen Namen haben","linksTargetBlankNoopener_description":"Stellt sicher, dass Links mit target=\"_blank\" die Risiken von Reverse-Tabnabbing verringern.","linksTargetBlankNoopener_hint_cantTell":"Beachten Sie die Hinweise zu dieser Regel.","linksTargetBlankNoopener_summary_cantTell":"Links, die in einem neuen Tab geöffnet werden, sollten rel=\"noopener\" verwenden","linksTargetBlankNoopener_title":"Links, die in einem neuen Tab geöffnet werden, sollten rel=\"noopener\" verwenden","manualReview_description":"Markiert, dass eine manuelle Überprüfung der Tastaturnavigation und der Fokusreihenfolge erforderlich ist.","manualReview_hint_cantTell":"Beachten Sie die Hinweise zu dieser Regel.","manualReview_summary_cantTell":"Manuelle Überprüfung: Tastaturnavigation und Fokusreihenfolge","manualReview_title":"Manuelle Überprüfung: Tastaturnavigation und Fokusreihenfolge","rules.img-alt-suspicious.meta.title":"Verdächtiger Alternativtext erfordert eine Überprüfung","rules.img-alt-suspicious.meta.description":"Identifiziert Bilder, deren Alternativtext gängigen verdächtigen Mustern entspricht (z. B. Dateinamen, URLs, Platzhaltern oder generischen Begriffen), und erfordert eine manuelle Überprüfung.","rules.img-alt-suspicious.occurrence.cantTell.summary":"Der Alternativtext des Bildes wirkt verdächtig („{{alt}}“ ähnelt {{pattern}}) und erfordert eine Überprüfung.","rules.img-alt-suspicious.occurrence.cantTell.hint":"Überprüfen Sie den Alternativtext. Vermeiden Sie Dateinamen, URLs, Platzhalter oder generische Begriffe, und stellen Sie sicher, dass die Textalternative den Zweck oder die Funktion des Bildes im Kontext beschreibt.","formControl_programmaticLabelQuality_title":"Formularelemente sollten sich nicht auf placeholder oder title als primäre Beschriftung verlassen","formControl_programmaticLabelQuality_description":"Markiert Formularelemente, deren berechneter zugänglicher Name sich auf placeholder oder title als primäre Beschriftungsmethode stützt. Bevorzugen Sie \u003clabel> oder aria-labelledby.","formControl_programmaticLabelQuality_summary_cantTell":"Die primäre Beschriftung des Formularelements stammt von {{method}}.","formControl_programmaticLabelQuality_hint_cantTell":"Bevorzugen Sie ein dauerhaftes \u003clabel> oder aria-labelledby. Verlassen Sie sich nicht auf placeholder/title als primäre Beschriftung.","html_lang_attr_title":"Die Sprache der Seite ist deklariert","html_lang_attr_description":"Prüft, ob die Standardsprache der Seite programmatisch deklariert ist.","html_lang_attr_missing_absent":"Die Standardsprache der Seite ist nicht deklariert.","html_lang_attr_hint_missing_absent":"Fügen Sie dem \u003chtml>-Element ein lang-Attribut hinzu (zum Beispiel: \u003chtml lang=\"de\">).","html_lang_attr_missing_empty":"Die Standardsprache der Seite ist deklariert, aber leer.","html_lang_attr_hint_missing_empty":"Legen Sie im lang-Attribut des \u003chtml>-Elements einen gültigen Sprachwert fest (zum Beispiel: \u003chtml lang=\"de\">).","html_lang_attr_invalid":"Die Standardsprache der Seite ist deklariert, aber der Wert „{{lang}}“ ist kein gültiges Sprach-Tag.","html_lang_attr_hint_invalid":"Verwenden Sie in \u003chtml lang=\"…\"> ein gültiges BCP-47-Sprach-Tag (zum Beispiel: „de“, „fr“, „en-US“).","mediaTranscriptPresent_title":"Zeitbasierte Medien: Nachweis einer Transkription oder Textalternative","mediaTranscriptPresent_description":"Findet Audio- und Video-Elemente, bei denen eine Transkription oder eine andere Textalternative im Seiteninhalt nicht eindeutig nachgewiesen ist. Diese Regel ist konservativ ausgelegt und meldet manuelle Überprüfung (cantTell), wenn Nachweise fehlen oder nicht verifiziert werden können.","mediaTranscriptPresent_summary_cantTell_missing":"Das Vorhandensein einer Transkription oder einer anderen Textalternative für dieses \u003c{{element}}> ist auf der Seite nicht eindeutig nachgewiesen.","mediaTranscriptPresent_hint_cantTell_missing":"Stellen Sie für vorab aufgezeichnete Nur-Audio- oder Nur-Video-Medien eine klar erkennbare Transkription oder eine andere Textalternative bereit, zum Beispiel einen sichtbaren Abschnitt oder Link „Transkription“.","mediaTranscriptPresent_summary_cantTell_unverified":"Für dieses zeitbasierte Medium ist möglicherweise eine Transkription oder eine andere Textalternative verfügbar, dies konnte jedoch anhand des Seiteninhalts nicht verifiziert werden.","mediaTranscriptPresent_hint_cantTell_unverified":"Stellen Sie sicher, dass eine klar erkennbare Transkription oder eine andere Textalternative verfügbar und sichtbar oder programmatisch mit dem Medium auf der Seite verknüpft ist.","pageTitlePresent_title":"Die Seite hat einen nicht leeren Titel","pageTitlePresent_description":"Prüft, ob die Seite ein nicht leeres \u003ctitle>-Element enthält, das die Seite identifiziert.","pageTitlePresent_summary_fail":"Die Seite hat keinen nicht leeren Titel.","pageTitlePresent_hint_fail":"Fügen Sie ein \u003ctitle>-Element mit Text hinzu, der das Thema oder den Zweck der Seite beschreibt.","pageTitlePatterns_title":"Seitentitel-Muster, die möglicherweise unzureichend aussagekräftig sind","pageTitlePatterns_description":"Identifiziert Muster in Seitentiteln, die auf eine geringe Aussagekraft hindeuten können, etwa generische, duplizierte oder übermäßig schablonenhafte Titel. Diese Regel liefert Hinweise zur Überprüfung und schlägt nicht automatisch fehl.","pageTitlePatterns_summary_cantTell":"Der Seitentitel ist möglicherweise nicht aussagekräftig genug, um das Thema oder den Zweck der Seite zu identifizieren.","pageTitlePresent_summary_fail_missing":"Der Seite fehlt ein \u003ctitle>-Element.","pageTitlePresent_summary_fail_empty":"Die Seite hat ein leeres \u003ctitle>.","pageTitlePatterns_summary_cantTell_duplicateAcrossPages":"Mehrere Seiten teilen sich denselben Titel, was die Unterscheidung der Seiten erschweren kann ({{duplicateGroups}} Duplikatgruppen über {{pagesAnalyzed}} Seiten). Beispiel: „{{exampleTitle}}“.","pageTitlePatterns_summary_cantTell_templatedAcrossPages":"Viele Seitentitel wirken stark schablonenhaft, was beeinträchtigen kann, wie gut Titel Seiten voneinander unterscheiden ({{pagesAnalyzed}} Seiten).","pageTitlePatterns_summary_cantTell_generic":"Der Seitentitel ist generisch und identifiziert das Thema oder den Zweck der Seite möglicherweise nicht.","pageTitlePatterns_summary_cantTell_veryShort":"Der Seitentitel ist sehr kurz und identifiziert das Thema oder den Zweck der Seite möglicherweise nicht.","pageTitlePatterns_summary_cantTell_templateLike":"Der Seitentitel wirkt schablonenhaft und identifiziert das Thema oder den Zweck der Seite möglicherweise nicht.","pageTitlePatterns_hint_cantTell":"Überprüfen Sie den Seitentitel und stellen Sie sicher, dass er das Thema oder den Zweck der Seite klar identifiziert und hilft, die Seite von anderen zu unterscheiden.","contrastComputable_title":"Der Farbkontrast ist für gerenderten Text berechenbar","contrastComputable_description":"Bestimmt, ob ausreichend Informationen verfügbar sind, um den WCAG-Farbkontrast für sichtbaren Text zu berechnen (z. B. keine Verläufe/Bilder/Blend-Modi, die den Hintergrund unbestimmbar machen).","contrastComputable_pass_allComputable":"Der Kontrast ist für allen zutreffenden Text berechenbar ({{eligibleTextCount}} Textknoten).","contrastComputable_cantTell_generic":"Der Kontrast ist möglicherweise nicht berechenbar ({{reasonCode}}).","contrastComputable_cantTell_bgImageOrGradient":"Der Kontrast ist nicht berechenbar, weil der Hintergrund ein Bild oder einen Verlauf verwendet ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgImage":"Der Kontrast ist nicht berechenbar, weil der Hintergrund ein Bild verwendet ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgGradient":"Der Kontrast ist nicht berechenbar, weil der Hintergrund einen Verlauf verwendet ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgImageAndGradient":"Der Kontrast ist nicht berechenbar, weil der Hintergrund ein Bild und einen Verlauf verwendet ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_mixBlendMode":"Der Kontrast ist nicht berechenbar, weil mix-blend-mode verwendet wird ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_filter":"Der Kontrast ist nicht berechenbar, weil filter/backdrop-filter verwendet wird ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_rootNotOpaque":"Der Kontrast ist nicht berechenbar, weil der effektive Hintergrund an der Wurzel nicht vollständig opak ist (alpha={{backgroundAlpha}}).","contrastComputable_cantTell_foregroundUnparsable":"Der Kontrast ist nicht berechenbar, weil die berechnete Vordergrundfarbe nicht ausgewertet werden konnte.","contrastComputable_cantTell_engineFailure":"Die Berechenbarkeit des Kontrasts konnte aufgrund eines internen Engine-Fehlers nicht bestimmt werden ({{reasonCode}}).","contrastComputable_cantTell_backdropFilter":"Der Kontrast ist nicht berechenbar, weil backdrop-filter verwendet wird ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_filterOrBackdropFilter":"Der Kontrast ist nicht berechenbar, weil filter verwendet wird ({{blockerProperty}}={{blockerValue}}).","contrastMinimum_title":"Text erfüllt den Mindestfarbkontrast (AA)","contrastMinimum_description":"Prüft, ob sichtbarer Text ein Kontrastverhältnis von mindestens 4,5:1 (normal) oder 3,0:1 (groß) aufweist, sofern der Kontrast aus CSS berechenbar ist.","contrastMinimum_fail_belowThreshold":"Das Element weist einen unzureichenden Farbkontrast von {{ratio}}:1 auf (Vordergrund: {{foregroundHex}}, Hintergrund: {{backgroundHex}}, Schriftgröße: {{fontSizePx}}px, Schriftgewicht: {{fontWeightLabel}}). Erwartetes Kontrastverhältnis: {{threshold}}:1 ({{#isLargeText}}großer Text{{/isLargeText}}{{^isLargeText}}normaler Text{{/isLargeText}}).","contrastMinimum_pass_allAboveThreshold":"Der gesamte berechenbare Text erfüllt den Mindestkontrast (AA). Zutreffende Textknoten: {{eligibleTextCount}}. Berechenbar: {{computableTextCount}}.","contrastMinimum_notApplicable_noComputableText":"Bei keinem zutreffenden Text war der Kontrast berechenbar (zutreffende Textknoten: {{eligibleTextCount}}). Details siehe Regel zur Kontrastberechenbarkeit.","contrastMinimum_cantTell_engineFailure":"Der Mindestkontrast (AA) konnte aufgrund eines internen Engine-Fehlers nicht bestimmt werden ({{reasonCode}}).","contrastEnhanced_title":"Text erfüllt den erweiterten Farbkontrast (AAA)","contrastEnhanced_description":"Prüft, ob sichtbarer Text ein Kontrastverhältnis von mindestens 7,0:1 (normal) oder 4,5:1 (groß) aufweist, sofern der Kontrast aus CSS berechenbar ist.","contrastEnhanced_fail_belowThreshold":"Das Element weist einen unzureichenden Farbkontrast (AAA) von {{ratio}}:1 auf (Vordergrund: {{foregroundHex}}, Hintergrund: {{backgroundHex}}, Schriftgröße: {{fontSizePx}}px, Schriftgewicht: {{fontWeightLabel}}). Erwartetes Kontrastverhältnis: {{threshold}}:1 ({{#isLargeText}}großer Text{{/isLargeText}}{{^isLargeText}}normaler Text{{/isLargeText}}).","contrastEnhanced_pass_allAboveThreshold":"Der gesamte berechenbare Text erfüllt den erweiterten Kontrast (AAA). Zutreffende Textknoten: {{eligibleTextCount}}. Berechenbar: {{computableTextCount}}.","contrastEnhanced_notApplicable_noComputableText":"Bei keinem zutreffenden Text war der Kontrast berechenbar (zutreffende Textknoten: {{eligibleTextCount}}). Details siehe Regel zur Kontrastberechenbarkeit.","contrastEnhanced_cantTell_engineFailure":"Der erweiterte Kontrast (AAA) konnte aufgrund eines internen Engine-Fehlers nicht bestimmt werden ({{reasonCode}}).","dom_textContrastMinimum_title":"Text muss ausreichenden Kontrast aufweisen (Minimum)","dom_textContrastMinimum_description":"Prüft den Kontrast von sichtbarem Text gegenüber seinem berechneten Hintergrund gemäß WCAG 2.2 Erfolgskriterium 1.4.3 (AA), unter Verwendung der gerenderten Stile (Schriftgröße/-gewicht) zur Bestimmung des erforderlichen Verhältnisses.","dom_textContrastMinimum_summary_fail":"Unzureichender Textkontrast: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} auf Hintergrund {{bgColor}}. Schrift {{fontSizePx}}px, Gewicht {{fontWeight}}{{#isBold}}, fett{{/isBold}}{{#isLargeText}} (großer Text){{/isLargeText}}.","dom_textContrastMinimum_hint_fail":"Passen Sie die Vordergrund- oder Hintergrundfarbe so an, dass das Kontrastverhältnis für diese Textgröße/dieses Textgewicht mindestens {{requiredRatio}}:1 beträgt.","dom_textContrastMinimum_summary_pass":"Textkontrast in Ordnung: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} auf Hintergrund {{bgColor}}. Schrift {{fontSizePx}}px, Gewicht {{fontWeight}}{{#isBold}}, fett{{/isBold}}{{#isLargeText}} (großer Text){{/isLargeText}}.","dom_textContrastMinimum_summary_cantTell":"Der Textkontrast konnte nicht zuverlässig berechnet werden, da der effektive Hintergrund nicht deterministisch auflösbar ist (z. B. Bild, Verlauf, Video, Canvas, komplexe Transparenz oder Blending).","dom_textContrastMinimum_hint_cantTell":"Überprüfen Sie den Kontrast manuell, wenn Text über Bildern/Verläufen/Transparenz liegt; stellen Sie sicher, dass er {{requiredRatio}}:1 für die berechnete Textgröße/das Textgewicht erreicht.","dom_textContrastEnhanced_title":"Text muss ausreichenden Kontrast aufweisen (erweitert)","dom_textContrastEnhanced_description":"Prüft den Kontrast von sichtbarem Text gegenüber seinem berechneten Hintergrund gemäß WCAG 2.2 Erfolgskriterium 1.4.6 (AAA), unter Verwendung der gerenderten Stile (Schriftgröße/-gewicht) zur Bestimmung des erforderlichen Verhältnisses.","dom_textContrastEnhanced_summary_fail":"Unzureichender erweiterter Textkontrast: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} auf Hintergrund {{bgColor}}. Schrift {{fontSizePx}}px, Gewicht {{fontWeight}}{{#isBold}}, fett{{/isBold}}{{#isLargeText}} (großer Text){{/isLargeText}}.","dom_textContrastEnhanced_hint_fail":"Passen Sie die Vordergrund- oder Hintergrundfarbe so an, dass das Kontrastverhältnis für den erweiterten (AAA-)Kontrast mindestens {{requiredRatio}}:1 beträgt.","dom_textContrastEnhanced_summary_pass":"Erweiterter Textkontrast in Ordnung: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} auf Hintergrund {{bgColor}}. Schrift {{fontSizePx}}px, Gewicht {{fontWeight}}{{#isBold}}, fett{{/isBold}}{{#isLargeText}} (großer Text){{/isLargeText}}.","dom_textContrastEnhanced_summary_cantTell":"Der erweiterte Textkontrast konnte nicht zuverlässig berechnet werden, da der effektive Hintergrund nicht deterministisch auflösbar ist (z. B. Bild, Verlauf, Video, Canvas, komplexe Transparenz oder Blending).","dom_textContrastEnhanced_hint_cantTell":"Überprüfen Sie den erweiterten (AAA-)Kontrast manuell, wenn Text über Bildern/Verläufen/Transparenz liegt; stellen Sie sicher, dass er {{requiredRatio}}:1 für die berechnete Textgröße/das Textgewicht erreicht.","dom_nonTextContrast_title":"UI-Komponenten und Grafiken müssen ausreichenden Kontrast aufweisen","dom_nonTextContrast_description":"Prüft den Kontrast nicht-textueller visueller Informationen (UI-Komponentengrenzen, Zustände und bedeutungstragende grafische Objekte) gemäß WCAG 2.2 Erfolgskriterium 1.4.11 (AA).","dom_nonTextContrast_summary_fail":"Unzureichender Nicht-Text-Kontrast: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} gegenüber Hintergrund {{bgColor}}. Komponente: {{componentKind}}{{#componentState}} (Zustand: {{componentState}}){{/componentState}}.","dom_nonTextContrast_hint_fail":"Passen Sie die Farben der Komponente/Grafik so an, dass das Kontrastverhältnis für die wahrnehmbare Abgrenzung oder die wesentliche visuelle Information mindestens {{requiredRatio}}:1 beträgt.","dom_nonTextContrast_summary_pass":"Nicht-Text-Kontrast in Ordnung: {{contrastRatio}}:1 (erforderlich {{requiredRatio}}:1). Vordergrund {{fgColor}} gegenüber Hintergrund {{bgColor}}. Komponente: {{componentKind}}{{#componentState}} (Zustand: {{componentState}}){{/componentState}}.","dom_nonTextContrast_summary_cantTell":"Der Nicht-Text-Kontrast konnte nicht zuverlässig berechnet werden, da der effektive Hintergrund oder die gezeichneten Pixel nicht deterministisch auflösbar sind (z. B. Bild/Verlauf/Video/Canvas, komplexe Transparenz oder Blending).","dom_nonTextContrast_hint_cantTell":"Überprüfen Sie den Kontrast der Komponente/Grafik manuell gegenüber den angrenzenden Farben; stellen Sie sicher, dass er {{requiredRatio}}:1 für die wesentliche nicht-textuelle visuelle Information erreicht.","contrastEnhanced_pass_allTextMeetsThreshold":"Der gesamte berechenbare Text erfüllt den erweiterten Kontrast (AAA).","contrastMinimum_pass_allTextMeetsThreshold":"Der gesamte berechenbare Text erfüllt den Mindestkontrast (AA).","contrastComputable_cantTell_notComputable":"Der Kontrast konnte für diesen Text nicht berechnet werden ({{reasonCode}}).","roleImg_textAlternativePresent_title":"[role=\"img\"] muss eine zugängliche Textalternative haben","roleImg_textAlternativePresent_description":"Prüft, ob Elemente mit role=\"img\" eine zugängliche Textalternative über aria-label, aria-labelledby oder ein title-Attribut bereitstellen.","roleImg_textAlternativePresent_summary_fail":"Das Element mit role=\"img\" hat keine zugängliche Textalternative.","roleImg_textAlternativePresent_hint_fail":"Stellen Sie eine Textalternative über aria-label oder aria-labelledby bereit, das auf nicht leeren Text verweist.","targetSizeMinimum_title":"Zeigerziele müssen mindestens 24x24px groß sein oder ausreichend Abstand zu anderen Zielen einhalten","targetSizeMinimum_description":"Prüft, ob per Zeiger bedienbare Ziele eine effektive Zielgröße von mindestens 24 mal 24 CSS-Pixel haben oder eine zulässige Ausnahme erfüllen (z. B. ausreichender Abstand).","targetSizeMinimum_summary_fail":"Ein oder mehrere Zeigerziele sind kleiner als 24×24 CSS-Pixel und liegen zu nah an einem anderen Ziel.","targetSizeMinimum_hint_fail":"Vergrößern Sie das Ziel auf mindestens 24×24 CSS-Pixel, oder fügen Sie ausreichend Abstand zu benachbarten Zielen hinzu.","targetSizeMinimum_summary_cantTell_ambiguousSpacing":"Das Ziel ist möglicherweise zu klein und zu nah an einem anderen Ziel, aber die Überlappung liegt nahe am Erkennungsschwellenwert und konnte nicht zuverlässig gemessen werden.","targetSizeMinimum_hint_cantTell_ambiguousSpacing":"Überprüfen Sie manuell den effektiven Abstand zwischen diesem Ziel und seinem Nachbarn; vergrößern Sie Zielgröße oder Abstand, falls die Überlappung real ist.","targetSizeMinimum_summary_cantTell_plausiblyEssential":"Das Ziel ist zu klein und zu nah an einem anderen Ziel, könnte aber als Teil einer essenziellen Grafik oder eines Image-Map-Bereichs ausgenommen sein.","targetSizeMinimum_hint_cantTell_plausiblyEssential":"Prüfen Sie, ob die Größe dieses Ziels wirklich für seine Funktion essenziell ist (z. B. Teil eines SVG/Canvas/einer Image-Map); falls nicht, vergrößern Sie Zielgröße oder Abstand.","targetSizeMinimum_summary_cantTell_inlineLinkRun":"Das Ziel ist kleiner als 24×24 CSS-Pixel und liegt nah an einem anderen Inline-Link im selben Textfluss, wo die Inline-Ausnahme gelten kann.","targetSizeMinimum_hint_cantTell_inlineLinkRun":"Prüfen Sie, ob diese Links Teil eines Inline-Textflusses sind (der ausgenommen ist); andernfalls vergrößern Sie das Ziel auf mindestens 24×24 CSS-Pixel oder fügen Sie Abstand hinzu.","targetSizeMinimum_notApplicable_noTargets":"Es gab keine per Zeiger bedienbaren Ziele, die für die Bewertung infrage kamen.","targetSizeMinimum_pass_allOk":"Alle zutreffenden Zeigerziele erfüllen die Mindestgröße oder eine zulässige Ausnahme.","ariaHidden_focus_title":"ARIA-hidden-Elemente dürfen nicht fokussierbar sein","ariaHidden_focus_description":"Prüft, ob Elemente mit aria-hidden=\"true\" nicht fokussierbar sind und keine fokussierbaren Nachfahren enthalten.","ariaHidden_focus_summary_fail_desc":"aria-hidden {{element}} enthält {{focusableCount}} fokussierbare(s) Element(e).","ariaHidden_focus_summary_fail_self":"aria-hidden {{element}} ist fokussierbar ({{focusableCount}} fokussierbare(s) Element(e)).","ariaHidden_focus_summary_fail_self_and_desc":"aria-hidden {{element}} ist fokussierbar und enthält {{descendantFocusableCount}} fokussierbare(n) Nachfahren ({{focusableCount}} fokussierbare Elemente insgesamt).","ariaHidden_focus_hint_fail":"Entfernen Sie die Fokussierbarkeit der Nachfahren oder entfernen Sie aria-hidden; stellen Sie sicher, dass Fokus- und Accessibility-Baum übereinstimmen.","ariaHidden_focus_summary_cantTell_redirect":"aria-hidden {{element}} hat den Fokus erhalten, der Fokus wurde jedoch sofort zu einem anderen Element verschoben. Überprüfen Sie das Sentinel-/Fokus-Trap-Verhalten.","ariaHidden_focus_hint_cantTell_redirect":"Überprüfen Sie, ob es sich um eine beabsichtigte Fokus-Sentinel-/Fokus-Trap-Übergabe handelt und dass Tastaturnutzer niemals auf verborgenen Fokuszielen verbleiben.","ariaHidden_focus_summary_cantTell_modal":"aria-hidden {{element}} enthält {{focusableCount}} fokussierbare(s) Element(e), während ein modaler Dialog geöffnet ist. Wenn der Dialog den Tastaturfokus gefangen hält, sind sie möglicherweise nicht erreichbar; prüfen Sie, dass der Fokus nicht auf ihnen landen kann.","ariaHidden_focus_hint_cantTell_modal":"Ein modaler Dialog scheint geöffnet zu sein. Machen Sie den Hintergrund vorzugsweise inert (oder verwenden Sie ein natives \u003cdialog>, das mit showModal() geöffnet wird), damit er die Tab-Reihenfolge verlässt, und prüfen Sie dann, dass der Tastaturfokus im Dialog bleibt.","cssHidden_focus_title":"Fokussierbare Elemente dürfen nicht visuell verborgen sein","cssHidden_focus_description":"Prüft, ob per Tastatur fokussierbare Elemente nicht durch CSS-Techniken visuell verborgen werden, die sie dennoch in der Tab-Reihenfolge belassen können.","cssHidden_focus_summary_cantTell":"Das fokussierbare {{element}} ist visuell verborgen ({{visibilityHints}}).","cssHidden_focus_hint_cantTell":"Machen Sie das Element sichtbar, wenn es den Tastaturfokus erhalten kann, oder entfernen Sie es aus der Tab-Reihenfolge, solange es nicht sichtbar ist.","linkNamePresent_title":"Links haben einen zugänglichen Namen","linkNamePresent_description":"Prüft, ob Links einen nicht leeren zugänglichen Namen aufweisen.","linkNamePresent_summary_fail":"Dieser Link hat keinen zugänglichen Namen.","linkNamePresent_hint_fail":"Stellen Sie einen Linktext oder einen Mechanismus für einen zugänglichen Namen bereit (zum Beispiel aria-label), damit assistive Technologien den Link identifizieren können.","buttonNamePresent_title":"Schaltflächen haben einen zugänglichen Namen","buttonNamePresent_description":"Prüft, ob Schaltflächen einen nicht leeren zugänglichen Namen aufweisen.","buttonNamePresent_summary_fail":"Diese Schaltfläche hat keinen zugänglichen Namen.","buttonNamePresent_hint_fail":"Stellen Sie einen sichtbaren Schaltflächentext oder einen programmatischen Mechanismus für einen zugänglichen Namen bereit (zum Beispiel aria-label), damit assistive Technologien die Schaltfläche identifizieren können.","binaryControlNamePresent_title":"Binäre Formularelemente haben einen zugänglichen Namen","binaryControlNamePresent_description":"Prüft, ob Kontrollkästchen, Optionsfelder und Schalter (switch) einen nicht leeren zugänglichen Namen aufweisen.","binaryControlNamePresent_summary_fail":"Dieses Formularelement hat keinen zugänglichen Namen.","binaryControlNamePresent_hint_fail":"Stellen Sie eine Beschriftung, aria-label, aria-labelledby oder einen anderen Mechanismus für einen zugänglichen Namen bereit, damit assistive Technologien das Formularelement identifizieren können.","comboboxNamePresent_title":"Comboboxen haben einen zugänglichen Namen","comboboxNamePresent_description":"Prüft, ob Elemente mit role=\"combobox\" einen nicht leeren zugänglichen Namen aufweisen.","comboboxNamePresent_summary_fail":"Diese Combobox hat keinen zugänglichen Namen.","comboboxNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei dieser Combobox nicht als zugänglicher Name ausgegeben.","dialogNamePresent_title":"Dialoge haben einen zugänglichen Namen","dialogNamePresent_description":"Prüft, ob Elemente mit role=\"dialog\" oder role=\"alertdialog\" einen nicht leeren zugänglichen Namen aufweisen.","dialogNamePresent_summary_fail":"Dieser Dialog hat keinen zugänglichen Namen.","dialogNamePresent_hint_fail":"Stellen Sie aria-labelledby (bevorzugt) oder aria-label bereit, damit assistive Technologien den Dialog ansagen können.","menuitemNamePresent_title":"Menüeinträge haben einen zugänglichen Namen","menuitemNamePresent_description":"Prüft, ob Menüeinträge (role=\"menuitem*\", einschließlich Checkbox-/Radio-Varianten) einen nicht leeren zugänglichen Namen aufweisen.","menuitemNamePresent_summary_fail":"Dieser Menüeintrag hat keinen zugänglichen Namen.","menuitemNamePresent_hint_fail":"Stellen Sie sichtbaren Text bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","tabNamePresent_title":"Tabs haben einen zugänglichen Namen","tabNamePresent_description":"Prüft, ob Elemente mit role=\"tab\" einen nicht leeren zugänglichen Namen aufweisen.","tabNamePresent_summary_fail":"Dieser Tab hat keinen zugänglichen Namen.","tabNamePresent_hint_fail":"Stellen Sie einen Tab-Text bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","sliderNamePresent_title":"Schieberegler haben einen zugänglichen Namen","sliderNamePresent_description":"Prüft, ob Schieberegler (input[type=\"range\"] und role=\"slider\") einen nicht leeren zugänglichen Namen aufweisen.","sliderNamePresent_summary_fail":"Dieser Schieberegler hat keinen zugänglichen Namen.","sliderNamePresent_hint_fail":"Stellen Sie eine Beschriftung, aria-label oder aria-labelledby bereit, damit assistive Technologien den Schieberegler identifizieren können.","textboxNamePresent_title":"Textfelder haben einen zugänglichen Namen","textboxNamePresent_description":"Prüft, ob Elemente mit role=\"textbox\" einen nicht leeren zugänglichen Namen aufweisen.","textboxNamePresent_summary_fail":"Dieses Textfeld hat keinen zugänglichen Namen.","textboxNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei diesem Textfeld nicht als zugänglicher Name ausgegeben.","searchboxNamePresent_title":"Suchfelder haben einen zugänglichen Namen","searchboxNamePresent_description":"Prüft, ob Elemente mit role=\"searchbox\" einen nicht leeren zugänglichen Namen aufweisen.","searchboxNamePresent_summary_fail":"Dieses Suchfeld hat keinen zugänglichen Namen.","searchboxNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei diesem Suchfeld nicht als zugänglicher Name ausgegeben.","spinbuttonNamePresent_title":"Spinbuttons haben einen zugänglichen Namen","spinbuttonNamePresent_description":"Prüft, ob Elemente mit role=\"spinbutton\" einen nicht leeren zugänglichen Namen aufweisen.","spinbuttonNamePresent_summary_fail":"Dieser Spinbutton hat keinen zugänglichen Namen.","spinbuttonNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei diesem Spinbutton nicht als zugänglicher Name ausgegeben.","listboxNamePresent_title":"Listboxen haben einen zugänglichen Namen","listboxNamePresent_description":"Prüft, ob Elemente mit role=\"listbox\" einen nicht leeren zugänglichen Namen aufweisen.","listboxNamePresent_summary_fail":"Diese Listbox hat keinen zugänglichen Namen.","listboxNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei dieser Listbox nicht als zugänglicher Name ausgegeben.","optionNamePresent_title":"Optionen haben einen zugänglichen Namen","optionNamePresent_description":"Prüft, ob Elemente mit role=\"option\" einen nicht leeren zugänglichen Namen aufweisen.","optionNamePresent_summary_fail":"Diese Option hat keinen zugänglichen Namen.","optionNamePresent_hint_fail":"Stellen Sie einen Optionstext bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","treeitemNamePresent_title":"Baumeinträge haben einen zugänglichen Namen","treeitemNamePresent_description":"Prüft, ob Elemente mit role=\"treeitem\" einen nicht leeren zugänglichen Namen aufweisen.","treeitemNamePresent_summary_fail":"Dieser Baumeintrag hat keinen zugänglichen Namen.","treeitemNamePresent_hint_fail":"Stellen Sie einen Baumeintrag-Text bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","ariaRoleNamePresent_title":"ARIA-Widget-/Container-Rollen haben einen zugänglichen Namen","ariaRoleNamePresent_description":"Prüft, ob bestimmte ARIA-Widget-/Container-Rollen einen nicht leeren zugänglichen Namen aufweisen.","ariaRoleNamePresent_summary_fail":"Dieses Element hat keinen zugänglichen Namen.","ariaRoleNamePresent_hint_fail":"Stellen Sie aria-label oder aria-labelledby bereit (bevorzugt), oder ein nicht leeres title-Attribut.","composite_rollup_summary":"Ergebnis der zusammengesetzten Regel: {{reasonCode}} ({{testCount}} Prüfungen)","catalog.rules.wcag_111_non_text_content.title":"Nicht-Text-Inhalt: Textalternativen","catalog.rules.wcag_111_non_text_content.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass Nicht-Text-Inhalte eine passende Textalternative haben.","catalog.rules.wcag_121_prerecorded_transcript.title":"Nur Audio und nur Video (voraufgezeichnet): Transkription","catalog.rules.wcag_121_prerecorded_transcript.description":"Zusammenfassung von Prüfungen zur Verfügbarkeit einer Transkription für voraufgezeichnete Nur-Audio- oder Nur-Video-Medien.","catalog.rules.wcag_143_contrast_minimum.title":"Kontrast: Minimum","catalog.rules.wcag_143_contrast_minimum.description":"Zusammenfassung von Prüfungen zum Mindesttextkontrast.","catalog.rules.wcag_146_contrast_enhanced.title":"Kontrast: erweitert","catalog.rules.wcag_146_contrast_enhanced.description":"Zusammenfassung von Prüfungen zum erweiterten Textkontrast.","catalog.rules.wcag_242_page_titled.title":"Seite mit Titel","catalog.rules.wcag_242_page_titled.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass Dokumente einen aussagekräftigen Seitentitel haben.","catalog.rules.wcag_247_focus_visible.title":"Fokus sichtbar","catalog.rules.wcag_247_focus_visible.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass der Tastaturfokus nicht verborgen ist und wahrnehmbar bleibt.","catalog.rules.wcag_258_target_size_minimum.title":"Zielgröße: Minimum","catalog.rules.wcag_258_target_size_minimum.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass Zeigerziele die Mindestgrößenanforderungen erfüllen.","catalog.rules.wcag_311_language_of_page.title":"Sprache der Seite","catalog.rules.wcag_311_language_of_page.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass die Sprache der Seite angegeben ist.","catalog.rules.wcag_412_name.title":"Name, Rolle, Wert: zugänglicher Name","catalog.rules.wcag_412_name.description":"Zusammenfassung von Prüfungen, die sicherstellen, dass gängige interaktive Elemente einen nicht leeren zugänglichen Namen aufweisen.","labelInName_title":"Beschriftung im Namen: Der zugängliche Name enthält den sichtbaren Text","labelInName_description":"Prüft, ob bei einem Formularelement mit sichtbarer Textbeschriftung der zugängliche Name diesen sichtbaren Beschriftungstext enthält (WCAG 2.5.3).","labelInName_summary_fail":"{{element}}: Die sichtbare Beschriftung „{{visibleLabel}}“ (aus {{labelSource}}) ist nicht im zugänglichen Namen enthalten (aus {{nameMechanism}}).","labelInName_hint_fail":"Aktualisieren Sie aria-label/aria-labelledby (oder den sichtbaren Beschriftungstext), damit der zugängliche Name den Wortlaut der sichtbaren Beschriftung enthält.","labelInName_summary_cantTell":"{{element}}: Die sichtbare Beschriftung „{{visibleLabel}}“ (aus {{labelSource}}) unterscheidet sich vom zugänglichen Namen (aus {{nameMechanism}}) nur durch eine Abkürzung oder eine Bindestrichschreibung.","labelInName_hint_cantTell":"Prüfen Sie manuell, ob beide Formulierungen übereinstimmen: Aus dem Markup lässt sich eine beabsichtigte Abkürzung nicht von einer Abweichung unterscheiden.","ariaRolesValid_title":"Das role-Attribut muss eine gültige, nicht abstrakte ARIA-Rolle sein","ariaRolesValid_description":"Prüft, ob ein explizites role=\"\"-Attribut zu einer echten, nicht abstrakten WAI-ARIA-Rolle aufgelöst wird.","ariaRolesValid_summary_invalid":"role=\"{{role}}\" ist keine erkannte ARIA-Rolle.","ariaRolesValid_hint_invalid":"Verwenden Sie einen gültigen ARIA-Rollenwert, oder entfernen Sie das role-Attribut, wenn keine Rolle zutrifft.","ariaRolesValid_summary_abstract":"role=\"{{role}}\" ist eine abstrakte ARIA-Rolle, die nicht direkt verwendet werden darf.","ariaRolesValid_hint_abstract":"Ersetzen Sie diese abstrakte Rolle durch eine konkrete Rolle, die zu dem Widget/der Struktur passt.","ariaDeprecatedRole_title":"Das role-Attribut sollte keine veraltete oder für Autoren nicht empfohlene ARIA-Rolle verwenden","ariaDeprecatedRole_description":"Prüft, ob ein explizites role=\"\"-Attribut keine durch die WAI-ARIA-Spezifikation als veraltet markierte Rolle verwendet, und keine Rolle, die für die interne Verwendung durch den User-Agent reserviert ist (z. B. role=\"generic\").","ariaDeprecatedRole_summary_fail":"Dieses Element verwendet role=\"{{role}}\", was Autoren nicht explizit deklarieren dürfen.","ariaDeprecatedRole_summary_cantTell":"Dieses Element verwendet role=\"{{role}}\", die in WAI-ARIA veraltet ist (weiterhin gültig, aber nicht empfohlen).","ariaDeprecatedRole_summary_cantTell_discouraged":"Dieses Element verwendet role=\"{{role}}\", die User-Agents vorbehalten ist (weiterhin gültig, aber nicht empfohlen).","ariaDeprecatedRole_guidance_directory":"Ersetzen Sie sie durch role=\"list\" (die empfohlene Ersetzung).","ariaDeprecatedRole_guidance_generic":"Entfernen Sie sie — diese Rolle ist für den user-agent-internen Gebrauch vorgesehen, nicht für Autoren. Verwenden Sie stattdessen role=\"presentation\"/\"none\", um die Semantik zu entfernen, eine semantische Rolle wie \"group\", um eine Gruppierung auszudrücken, oder schlicht ein gewöhnliches Element (das die implizite generic-Rolle bereits trägt).","ariaDeprecatedRole_guidance_default":"Ersetzen Sie die veraltete Rolle durch ihre empfohlene Ersetzung.","ariaValidAttr_title":"aria-*-Attribute müssen echte, definierte ARIA-Attribute sein","ariaValidAttr_description":"Prüft, ob jeder im DOM vorhandene aria-*-Attributname ein echtes, durch die WAI-ARIA-Spezifikation definiertes Attribut ist.","ariaValidAttr_summary_fail":"{{attr}} ist kein erkanntes ARIA-Attribut.","ariaValidAttr_hint_fail":"Korrigieren Sie den Attributnamen (prüfen Sie auf Tippfehler), oder entfernen Sie ihn, falls er nicht benötigt wird.","ariaValidAttrValue_title":"Die Werte von aria-*-Attributen müssen ihrem deklarierten Typ entsprechen","ariaValidAttrValue_description":"Prüft, ob jedes erkannte aria-*-Attribut einen Wert hat, der seinem WAI-ARIA-deklarierten Werttyp entspricht (boolesch, tristate, Token, Ganzzahl, Zahl oder ID-Referenz).","ariaValidAttrValue_summary_fail":"{{attr}}=\"{{value}}\" ist kein gültiger Wert für dieses Attribut.","ariaValidAttrValue_hint_fail":"Verwenden Sie einen Wert, der dem erwarteten Typ des Attributs entspricht (siehe WAI-ARIA-Spezifikation für dieses Attribut).","ariaAllowedAttr_title":"aria-*-Attribute müssen für die Rolle des Elements zulässig sein","ariaAllowedAttr_description":"Prüft, ob jedes erkannte aria-*-Attribut auf einem Element mit expliziter Rolle entweder global unterstützt wird oder von dieser Rolle unterstützt wird.","ariaAllowedAttr_summary_fail":"{{attr}} ist bei role=\"{{role}}\" nicht zulässig.","ariaAllowedAttr_hint_fail":"Entfernen Sie dieses Attribut, oder verwenden Sie eine Rolle, die es unterstützt.","ariaAllowedAttr_summary_cantTell":"{{attr}} ist bei role=\"{{role}}\" veraltet (weiterhin zulässig, aber nicht empfohlen).","ariaAllowedAttr_hint_cantTell":"Dieses Attribut wurde in ARIA 1.2 aus dem globalen Satz entfernt; entfernen Sie es oder verwenden Sie eine Rolle, die es unterstützt, da eine künftige ARIA-Version es möglicherweise nicht mehr zulässt.","ariaProhibitedAttr_title":"ARIA-Benennungsattribute dürfen nicht bei Rollen verwendet werden, die sie untersagen","ariaProhibitedAttr_description":"Prüft, ob aria-label/aria-labelledby nicht bei WAI-ARIA-Rollen vorhanden sind, deren Spezifikation die ARIA-Benennung ausdrücklich untersagt (z. B. generic, emphasis, strong, paragraph).","ariaProhibitedAttr_summary_fail":"{{attr}} ist bei role=\"{{role}}\" untersagt.","ariaProhibitedAttr_hint_fail":"Entfernen Sie dieses Attribut; diese Rolle darf keinen zugänglichen Namen tragen.","ariaProhibitedAttr_summary_fail_roleless":"Dieses {{element}} hat keine Rolle und keine andere Quelle für einen zugänglichen Namen, sodass {{attr}} assistiven Technologien nicht zuverlässig zur Verfügung gestellt wird.","ariaProhibitedAttr_hint_fail_roleless":"Geben Sie diesem Element eine Rolle, die einen zugänglichen Namen unterstützt (z. B. role=\"img\"/\"button\"), oder entfernen Sie dieses Attribut, wenn es ohne Rolle keinen Zweck erfüllt.","ariaProhibitedAttr_summary_cantTell_roleless":"Dieses {{element}} hat keine Rolle, sodass {{attr}} von assistiven Technologien möglicherweise nicht als zugänglicher Name ausgegeben wird — der eigene Inhalt des Elements liefert jedoch bereits einen.","ariaProhibitedAttr_hint_cantTell_roleless":"Prüfen Sie, ob der vorhandene Textinhalt bereits als Beschriftung dieses Elements dient; falls ja, ist das Benennungsattribut redundant, andernfalls geben Sie dem Element eine Rolle, die die Benennung unterstützt (z. B. role=\"img\").","ariaRequiredAttr_title":"Rollen mit einem erforderlichen ARIA-Status/-Eigenschaft müssen diesen tragen","ariaRequiredAttr_description":"Prüft, ob Elemente mit expliziter Rolle jeden eindeutigen, kontextunabhängigen erforderlichen aria-*-Status/-Eigenschaft für diese Rolle tragen (z. B. muss role=\"checkbox\" aria-checked haben).","ariaRequiredAttr_summary_fail":"{{attr}} ist für role=\"{{role}}\" erforderlich, fehlt jedoch.","ariaRequiredAttr_hint_fail":"Fügen Sie dieses Attribut mit einem für diese Rolle gültigen Wert hinzu.","ariaAllowedRole_title":"Die explizite Rolle muss für ihr Host-Element zulässig sein","ariaAllowedRole_description":"Prüft, ob ein explizites role=\"\"-Attribut eine der Rollen ist, die die ARIA-in-HTML-Spezifikation für das Host-Element zulässt (z. B. ist role=\"tab\" bei \u003cnav> nicht zulässig).","ariaAllowedRole_summary_fail":"role=\"{{role}}\" ist bei \u003c{{element}}> nicht zulässig.","ariaAllowedRole_hint_fail":"Verwenden Sie eine für dieses Element zulässige Rolle, oder ändern Sie das Host-Element.","ariaRequiredChildren_title":"Container-Rollen müssen mindestens eine erforderliche Kind-Rolle besitzen","ariaRequiredChildren_description":"Prüft, ob Container-Rollen mit einem dokumentierten Eintrag „erforderliche eigene Elemente“ (list, listbox, menu, radiogroup, table, grid, tablist, tree, row, …) mindestens einen Nachfahren oder ein über aria-owns referenziertes Element mit einer zulässigen eigenen Rolle enthalten.","ariaRequiredChildren_summary_fail":"role=\"{{role}}\" besitzt kein eigenes Kind mit einer der erforderlichen Rollen: {{requiredRoles}}.","ariaRequiredChildren_hint_fail":"Fügen Sie einen Nachfahren (oder ein über aria-owns referenziertes Element) mit einer der erforderlichen eigenen Rollen hinzu.","ariaProhibitedChildren_title":"Container-Rollen dürfen kein Kind mit einer unzulässigen Rolle besitzen","ariaProhibitedChildren_description":"Prüft, ob jedes im Accessibility-Baum zugehörige Kind einer Container-Rolle (list, listbox, menu, menubar, radiogroup, rowgroup, table, grid, treegrid, tablist, tree, row) eine der von dieser Rolle zulässigen eigenen Rollen hat.","ariaProhibitedChildren_summary_fail":"Dieses Element hat role=\"{{childRole}}\", was kein zulässiges eigenes Kind des umschließenden Containers role=\"{{containerRole}}\" ist.","ariaProhibitedChildren_hint_fail":"Entfernen oder ändern Sie diese Rolle, sodass sie einer der zulässigen eigenen Rollen des Containers entspricht ({{allowedRoles}}), oder verschieben Sie dieses Element außerhalb des {{containerRole}}-Containers.","ariaProhibitedChildren_summary_fail_roleless":"Dieses Element hat keine explizite Rolle, trägt jedoch {{attr}}, wodurch es zu einem echten Knoten im Accessibility-Baum wird, der kein zulässiges eigenes Kind des umschließenden Containers role=\"{{containerRole}}\" ist.","ariaProhibitedChildren_hint_fail_roleless":"Entfernen Sie {{attr}} (oder die Container-Zugehörigkeit zu role=\"{{containerRole}}\"), oder geben Sie diesem Element role=\"presentation\"/\"none\", falls es kein eigener Knoten im Accessibility-Baum sein soll.","ariaProhibitedChildren_summary_fail_native_focusable":"Dieses Element hat keine explizite Rolle, ist jedoch nativ fokussierbar, wodurch es zu einem echten Knoten im Accessibility-Baum wird, der kein zulässiges eigenes Kind des umschließenden Containers role=\"{{containerRole}}\" ist.","ariaProhibitedChildren_hint_fail_native_focusable":"Geben Sie diesem Element role=\"presentation\"/\"none\", entfernen Sie seine native Fokussierbarkeit (z. B. das href/tabindex-verleihende Attribut), oder verschieben Sie es außerhalb des {{containerRole}}-Containers.","ariaRequiredParent_title":"Rollen, die einen bestimmten Kontext-Rolle erfordern, müssen sich in diesem Kontext befinden","ariaRequiredParent_description":"Prüft, ob Rollen mit einem dokumentierten Eintrag „erforderliche Kontext-Rolle“ (listitem, option, tab, treeitem, row, cell, …) einen Vorfahren oder aria-owns-Eigentümer mit einer zulässigen Kontext-Rolle haben.","ariaRequiredParent_summary_fail":"role=\"{{role}}\" erfordert eine Kontext-Rolle aus: {{requiredRoles}}, die nicht gefunden wurde.","ariaRequiredParent_hint_fail":"Platzieren Sie dieses Element innerhalb eines Elements mit einer zulässigen Kontext-Rolle (oder referenzieren Sie es von dort über aria-owns).","deprecatedElements_title":"Veraltete, nicht anhaltbare Elemente (\u003cblink>, \u003cmarquee>) dürfen nicht verwendet werden","deprecatedElements_description":"Prüft, ob veraltete, nicht standardisierte HTML-Elemente, deren blinkender/scrollender Inhalt vom Nutzer nicht angehalten, gestoppt oder ausgeblendet werden kann (\u003cblink>, \u003cmarquee>), nicht vorhanden sind.","deprecatedElements_summary_fail":"Der Inhalt von \u003c{{element}}> kann vom Nutzer nicht angehalten, gestoppt oder ausgeblendet werden.","deprecatedElements_hint_fail":"Entfernen Sie dieses Element; verwenden Sie stattdessen statischen Inhalt oder eine Animation mit einer für den Nutzer zugänglichen Pause-/Stopp-Steuerung.","iframeNamePresent_title":"Frames haben einen zugänglichen Namen","iframeNamePresent_description":"Prüft, ob \u003ciframe>/\u003cframe>-Elemente über aria-label, aria-labelledby oder das title-Attribut einen nicht leeren zugänglichen Namen aufweisen.","iframeNamePresent_summary_fail":"Dieses \u003c{{element}}> hat keinen zugänglichen Namen.","iframeNamePresent_hint_fail":"Fügen Sie ein title-Attribut (oder aria-label/aria-labelledby) hinzu, das Inhalt oder Zweck des Frames beschreibt.","iframeTitleUnique_title":"Frame-Titel müssen eindeutig sein","iframeTitleUnique_description":"Prüft, ob nicht zwei \u003ciframe>/\u003cframe>-Elemente im betrachteten Bereich denselben title-Attributwert teilen.","iframeTitleUnique_summary_fail":"Der Titel „{{title}}“ dieses \u003c{{element}}> ist unter den Frames dieser Seite nicht eindeutig.","iframeTitleUnique_hint_fail":"Geben Sie jedem Frame einen eigenen Titel, der seinen jeweiligen Inhalt oder Zweck beschreibt.","iframeFocusableContent_title":"Frames mit tabindex=\"-1\" dürfen keinen fokussierbaren Inhalt enthalten","iframeFocusableContent_description":"Prüft, ob \u003ciframe>/\u003cframe>-Elemente derselben Herkunft mit tabindex=\"-1\" keinen fokussierbaren Inhalt enthalten, da Browser diese Einschränkung nicht in das eingebettete Dokument des Frames übertragen.","iframeFocusableContent_summary_fail":"Dieses \u003c{{element}}> hat tabindex=\"-1\", aber sein Inhalt enthält fokussierbare Elemente, die weiterhin per Tastatur erreichbar sind.","iframeFocusableContent_hint_fail":"Entfernen Sie den fokussierbaren Inhalt aus dem Frame, oder entfernen Sie tabindex=\"-1\", falls der Frame erreichbar sein soll.","tableHeadersAttrValid_title":"Das headers-Attribut einer Tabellenzelle muss auf gültige Kopfzellen verweisen","tableHeadersAttrValid_description":"Prüft, ob jede id im headers-Attribut eines \u003ctd>/\u003cth> auf ein \u003cth>-Element innerhalb derselben Tabelle aufgelöst wird (nicht fehlend, kein Nicht-th-Element, nicht sich selbst).","tableHeadersAttrValid_summary_fail":"Das headers-Attribut dieses \u003c{{element}}> verweist auf ungültige Kopfzelle(n): {{invalidIds}}.","tableHeadersAttrValid_hint_fail":"Aktualisieren Sie das headers-Attribut so, dass jede id auf ein \u003cth>-Element innerhalb derselben Tabelle verweist.","tableThHasDataCells_title":"\u003cth>-Elemente müssen mindestens eine Datenzelle beschreiben","tableThHasDataCells_description":"Prüft, ob eine Tabelle, die \u003cth>-Elemente enthält, auch mindestens eine \u003ctd>-Datenzelle enthält, die von diesen Kopfzeilen beschrieben wird.","tableThHasDataCells_summary_fail":"Diese Tabelle hat Kopfzellen, aber keine Datenzellen, die sie beschreiben.","tableThHasDataCells_hint_fail":"Fügen Sie der Tabelle Datenzellen (\u003ctd>) hinzu, oder entfernen Sie die Kopfzellen, wenn die Tabelle keine Daten enthält.","ariaHiddenBody_title":"Das \u003cbody>-Element des Dokuments darf nicht aria-hidden sein","ariaHiddenBody_description":"Prüft, ob \u003cbody> nicht aria-hidden=\"true\" hat, was die gesamte Seite aus dem Accessibility-Baum entfernen würde.","ariaHiddenBody_summary_fail":"Der Dokumentkörper hat aria-hidden=\"true\", wodurch die gesamte Seite vor assistiven Technologien verborgen wird.","ariaHiddenBody_hint_fail":"Entfernen Sie aria-hidden von \u003cbody>. Verbergen Sie stattdessen einzelne Elemente, falls das die Absicht war.","listChildrenValid_title":"Listen dürfen direkt nur Listenelemente enthalten","listChildrenValid_description":"Prüft, ob \u003cul>/\u003col>-Elemente als direkte Kinder nur \u003cli>, \u003cscript> oder \u003ctemplate> haben.","listChildrenValid_summary_fail":"Dieses \u003c{{element}}> enthält ein direktes Kind, das kein Listenelement ist: {{invalidChildren}}.","listChildrenValid_hint_fail":"Verwenden Sie als direkte Kinder von \u003cul>/\u003col> nur \u003cli> (oder \u003cscript>/\u003ctemplate>); verschieben Sie anderes Markup in ein \u003cli>.","listitemParentValid_title":"Listenelemente müssen sich innerhalb eines Listen-Containers befinden","listitemParentValid_description":"Prüft, ob \u003cli>-Elemente von \u003cul>, \u003col> oder einem Element mit role=\"list\" enthalten sind.","listitemParentValid_summary_fail":"Das übergeordnete Element (\u003c{{parentElement}}>) dieses Listenelements ist kein Listen-Container.","listitemParentValid_hint_fail":"Platzieren Sie dieses \u003cli> innerhalb eines \u003cul>/\u003col>, oder geben Sie seinem übergeordneten Element role=\"list\".","definitionListChildrenValid_title":"Beschreibungslisten müssen korrekt strukturiert sein","definitionListChildrenValid_description":"Prüft, ob \u003cdl>-Elemente direkt nur \u003cdt>/\u003cdd>-Gruppen (optional in einem einzigen \u003cdiv> verpackt), \u003cscript>, \u003ctemplate> oder \u003cstyle> enthalten.","definitionListChildrenValid_summary_fail_invalidChild":"Diese Beschreibungsliste enthält ein direktes oder verpacktes Kind, das nicht Teil einer dt/dd-Gruppe ist: {{invalidChildren}}.","definitionListChildrenValid_hint_fail_invalidChild":"Verwenden Sie innerhalb von \u003cdl> nur \u003cdt>/\u003cdd> (optional in einem einzigen \u003cdiv> verpackt), \u003cscript>, \u003ctemplate> oder \u003cstyle>.","definitionListChildrenValid_summary_fail_noDtDd":"Diese Beschreibungsliste hat keine \u003cdt>/\u003cdd>-Begriff-Definitions-Gruppe.","definitionListChildrenValid_hint_fail_noDtDd":"Fügen Sie mindestens ein \u003cdt>/\u003cdd>-Paar innerhalb dieses \u003cdl> hinzu.","dlitemParentValid_title":"Beschreibungslisten-Elemente müssen sich innerhalb einer Beschreibungsliste befinden","dlitemParentValid_description":"Prüft, ob \u003cdt>/\u003cdd>-Elemente von einem \u003cdl> enthalten sind, direkt oder über ein umschließendes \u003cdiv>.","dlitemParentValid_summary_fail":"Das übergeordnete Element (\u003c{{parentElement}}>) dieses \u003c{{element}}> ist keine Beschreibungsliste.","dlitemParentValid_hint_fail":"Platzieren Sie dieses \u003cdt>/\u003cdd> innerhalb eines \u003cdl>, direkt oder in einem einzigen \u003cdiv> verpackt.","duplicateIdAria_title":"Von ARIA referenzierte IDs müssen eindeutig sein","duplicateIdAria_description":"Prüft, ob jeder id-Wert, der durch ein ARIA-ID-Referenzattribut referenziert wird (aria-labelledby, aria-describedby, aria-owns, aria-controls, aria-activedescendant, aria-flowto, aria-errormessage, aria-details), im Dokument eindeutig ist.","duplicateIdAria_summary_cantTell":"Die id „{{id}}“ wird von einem ARIA-Attribut referenziert, wird aber von {{duplicateCount}} Elementen verwendet; die Referenz verweist auf das erste.","duplicateIdAria_hint_cantTell":"Prüfen Sie, ob das erste Element mit dieser id das beabsichtigte Ziel ist, oder machen Sie die id innerhalb des Dokuments eindeutig.","summaryNamePresent_title":"Summary-Elemente haben einen zugänglichen Namen","summaryNamePresent_description":"Prüft, ob \u003csummary>-Elemente einen nicht leeren zugänglichen Namen aufweisen.","summaryNamePresent_summary_fail":"Dieses Summary-Element hat keinen zugänglichen Namen.","summaryNamePresent_hint_fail":"Stellen Sie einen Summary-Text bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","metaViewportZoomEnabled_title":"Der Viewport-Meta-Tag darf das Zoomen nicht deaktivieren","metaViewportZoomEnabled_description":"Prüft, ob \u003cmeta name=\"viewport\"> nicht user-scalable=no oder maximum-scale unter 2 (200 %) setzt.","metaViewportZoomEnabled_summary_fail":"Dieser Viewport-Meta-Tag schränkt die Zoom-Fähigkeit des Nutzers ein ({{reasons}}).","metaViewportZoomEnabled_hint_fail":"Entfernen Sie user-scalable=no und jedes maximum-scale unter 2 aus dem Inhalt des Viewport-Meta-Tags.","metaRefreshTimingAbsent_title":"Die Seite darf keinen zeitgesteuerten Meta-Refresh verwenden","metaRefreshTimingAbsent_description":"Prüft, ob \u003cmeta http-equiv=\"refresh\"> keine positive Verzögerung von 20 Stunden oder weniger erzwingt.","metaRefreshTimingAbsent_summary_fail":"Diese Seite lädt sich nach {{delay}} Sekunden automatisch neu.","metaRefreshTimingAbsent_hint_fail":"Entfernen Sie den zeitgesteuerten Meta-Refresh, oder bieten Sie den Nutzern eine Möglichkeit, ihn zu deaktivieren, zu verlängern oder vor dem Auslösen zu pausieren.","meterNamePresent_title":"Meter-Elemente haben einen zugänglichen Namen","meterNamePresent_description":"Prüft, ob Elemente mit role=\"meter\" einen nicht leeren zugänglichen Namen aufweisen.","meterNamePresent_summary_fail":"Dieses Meter-Element hat keinen zugänglichen Namen.","meterNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei diesem Meter-Element nicht als zugänglicher Name ausgegeben.","progressbarNamePresent_title":"Fortschrittsanzeigen haben einen zugänglichen Namen","progressbarNamePresent_description":"Prüft, ob Elemente mit role=\"progressbar\" einen nicht leeren zugänglichen Namen aufweisen.","progressbarNamePresent_summary_fail":"Diese Fortschrittsanzeige hat keinen zugänglichen Namen.","progressbarNamePresent_hint_fail":"Stellen Sie aria-label, aria-labelledby oder ein title-Attribut bereit — sichtbarer Textinhalt wird bei dieser Fortschrittsanzeige nicht als zugänglicher Name ausgegeben.","tooltipNamePresent_title":"Tooltips haben einen zugänglichen Namen","tooltipNamePresent_description":"Prüft, ob Elemente mit role=\"tooltip\" einen nicht leeren zugänglichen Namen aufweisen.","tooltipNamePresent_summary_fail":"Dieser Tooltip hat keinen zugänglichen Namen.","tooltipNamePresent_hint_fail":"Stellen Sie einen Tooltip-Text bereit, der nicht vor assistiven Technologien verborgen ist, oder stellen Sie aria-label oder aria-labelledby bereit.","serverSideImageMapAbsent_title":"Bilder dürfen keine serverseitige Image-Map verwenden","serverSideImageMapAbsent_description":"Prüft, ob \u003cimg>-Elemente nicht das ismap-Attribut tragen (serverseitige Image-Maps haben kein per Tastatur bedienbares Äquivalent).","serverSideImageMapAbsent_summary_fail":"Dieses Bild verwendet eine serverseitige Image-Map, die kein per Tastatur bedienbares Äquivalent hat.","serverSideImageMapAbsent_hint_fail":"Ersetzen Sie die serverseitige Image-Map (ismap) durch eine clientseitige Image-Map (\u003cmap>/\u003carea>) oder separate zugängliche Links/Schaltflächen.","formControlSingleLabel_title":"Formularelemente dürfen nicht mehrere Beschriftungen haben","formControlSingleLabel_description":"Prüft, ob ein Formularelement mit höchstens einem \u003clabel> verknüpft ist (durch Umschließen oder durch label[for]).","formControlSingleLabel_summary_fail":"Dieses \u003c{{element}}> ist mit {{labelCount}} Beschriftungen verknüpft.","formControlSingleLabel_hint_fail":"Behalten Sie nur ein \u003clabel> pro Formularelement (entweder umschließend oder über for/id referenziert).","formControlSingleLabel_summary_cantTell":"Dieses \u003c{{element}}> hat ein beschriftendes \u003clabel> und zusätzlich eine leere \u003clabel>-Verknüpfung; prüfen Sie, wie es angesagt wird.","formControlSingleLabel_hint_cantTell":"Entfernen Sie das überflüssige leere \u003clabel>, sodass genau ein \u003clabel> mit dem Element verknüpft ist.","nestedInteractiveControlsAbsent_title":"Interaktive Formularelemente dürfen nicht verschachtelt sein","nestedInteractiveControlsAbsent_description":"Prüft, ob ein interaktives Element (Link, Schaltfläche, Formularelement oder ARIA-Widget-Rolle) kein weiteres interaktives Element enthält.","nestedInteractiveControlsAbsent_summary_fail":"Dieses \u003c{{element}}> enthält ein oder mehrere verschachtelte interaktive Elemente: {{nestedElements}}.","nestedInteractiveControlsAbsent_hint_fail":"Verschieben Sie die verschachtelten interaktiven Elemente außerhalb dieses Elements; verschachtelte interaktive Elemente sind über assistive Technologien nicht zuverlässig bedienbar.","bypassBlocksPresent_title":"Die Seite muss eine Möglichkeit bieten, wiederkehrende Blöcke zu überspringen","bypassBlocksPresent_description":"Prüft, ob die Seite mindestens einen anerkannten Mechanismus nach WCAG 2.4.1 zum Überspringen wiederkehrender Blöcke hat: eine main-Landmarke, einen funktionierenden Anker-Link auf derselben Seite oder eine Überschrift.","bypassBlocksPresent_summary_cantTell":"Auf dieser Seite wurde keine anerkannte Möglichkeit erkannt, wiederkehrende Inhaltsblöcke zu überspringen – prüfen Sie, ob ein Überspring-Mechanismus vorhanden ist.","bypassBlocksPresent_hint_cantTell":"Bestätigen Sie, dass die Seite einen Überspring-Mechanismus bietet: eine main-Landmarke (\u003cmain> oder role=\"main\"), einen funktionierenden „Zum Inhalt springen“-Link oder Überschriften-Elemente, die assistive Technologien nutzen können, um wiederkehrende Inhalte zu überspringen. (Ein Mechanismus kann vorübergehend verborgen sein – z. B. während ein modaler Dialog die Seite inert macht – oder seitenweit bereitgestellt werden; dies erfordert eine menschliche Bestätigung.)","landmarkBannerIsTopLevel_title":"Die banner-Landmarke muss auf oberster Ebene liegen","landmarkBannerIsTopLevel_description":"Prüft, ob die banner-Landmarke (role=\"banner\" oder ein nicht verschachtelter \u003cheader>) nicht innerhalb einer anderen Landmarke verschachtelt ist.","landmarkBannerIsTopLevel_summary_cantTell":"Diese banner-Landmarke ist innerhalb einer anderen Landmarke verschachtelt.","landmarkBannerIsTopLevel_hint_cantTell":"Verschieben Sie die banner-Landmarke (header/role=\"banner\") so, dass sie nicht von einer anderen Landmarke umschlossen wird; eine banner-Landmarke sollte eine Region auf oberster Ebene der Seite sein.","landmarkContentinfoIsTopLevel_title":"Die contentinfo-Landmarke muss auf oberster Ebene liegen","landmarkContentinfoIsTopLevel_description":"Prüft, ob die contentinfo-Landmarke (role=\"contentinfo\" oder ein nicht verschachtelter \u003cfooter>) nicht innerhalb einer anderen Landmarke verschachtelt ist.","landmarkContentinfoIsTopLevel_summary_cantTell":"Diese contentinfo-Landmarke ist innerhalb einer anderen Landmarke verschachtelt.","landmarkContentinfoIsTopLevel_hint_cantTell":"Verschieben Sie die contentinfo-Landmarke (footer/role=\"contentinfo\") so, dass sie nicht von einer anderen Landmarke umschlossen wird; contentinfo sollte eine Region auf oberster Ebene der Seite sein.","landmarkMainIsTopLevel_title":"Die main-Landmarke muss auf oberster Ebene liegen","landmarkMainIsTopLevel_description":"Prüft, ob die main-Landmarke (role=\"main\" oder \u003cmain>) nicht innerhalb einer anderen Landmarke verschachtelt ist.","landmarkMainIsTopLevel_summary_cantTell":"Diese main-Landmarke ist innerhalb einer anderen Landmarke verschachtelt.","landmarkMainIsTopLevel_hint_cantTell":"Verschieben Sie die main-Landmarke (\u003cmain>/role=\"main\") so, dass sie nicht von einer anderen Landmarke umschlossen wird; main sollte eine Region auf oberster Ebene der Seite sein.","landmarkNoDuplicateBanner_title":"Die Seite darf nicht mehr als eine banner-Landmarke haben","landmarkNoDuplicateBanner_description":"Prüft, ob höchstens eine banner-Landmarke (role=\"banner\" oder ein nicht verschachtelter \u003cheader>) auf der Seite vorhanden ist.","landmarkNoDuplicateBanner_summary_cantTell":"Diese Seite hat mehr als eine banner-Landmarke.","landmarkNoDuplicateBanner_hint_cantTell":"Behalten Sie nur eine banner-Landmarke (header/role=\"banner\") pro Seite.","landmarkNoDuplicateContentinfo_title":"Die Seite darf nicht mehr als eine contentinfo-Landmarke haben","landmarkNoDuplicateContentinfo_description":"Prüft, ob höchstens eine contentinfo-Landmarke (role=\"contentinfo\" oder ein nicht verschachtelter \u003cfooter>) auf der Seite vorhanden ist.","landmarkNoDuplicateContentinfo_summary_cantTell":"Diese Seite hat mehr als eine contentinfo-Landmarke.","landmarkNoDuplicateContentinfo_hint_cantTell":"Behalten Sie nur eine contentinfo-Landmarke (footer/role=\"contentinfo\") pro Seite.","landmarkNoDuplicateMain_title":"Die Seite darf nicht mehr als eine main-Landmarke haben","landmarkNoDuplicateMain_description":"Prüft, ob höchstens eine main-Landmarke (role=\"main\" oder \u003cmain>) auf der Seite vorhanden ist.","landmarkNoDuplicateMain_summary_cantTell":"Diese Seite hat mehr als eine main-Landmarke.","landmarkNoDuplicateMain_hint_cantTell":"Behalten Sie nur eine main-Landmarke (\u003cmain>/role=\"main\") pro Seite.","landmarkOneMain_title":"Die Seite sollte eine main-Landmarke haben","landmarkOneMain_description":"Prüft, ob die Seite mindestens eine main-Landmarke (role=\"main\" oder \u003cmain>) hat.","landmarkOneMain_summary_cantTell_missing":"Diese Seite hat keine main-Landmarke.","landmarkOneMain_hint_cantTell_missing":"Fügen Sie eine main-Landmarke (\u003cmain> oder role=\"main\") um den primären Inhalt der Seite hinzu.","landmarkUnique_title":"Landmarken mit derselben Rolle müssen eindeutige Namen haben","landmarkUnique_description":"Prüft, ob bei zwei oder mehr Landmarken mit derselben Rolle jede einen eigenen zugänglichen Namen hat.","landmarkUnique_summary_cantTell_duplicateName":"Diese {{role}}-Landmarke teilt ihren zugänglichen Namen mit einer anderen {{role}}-Landmarke.","landmarkUnique_summary_cantTell_bothUnnamed":"Diese {{role}}-Landmarke hat keinen zugänglichen Namen, und es gibt mehr als eine unbenannte {{role}}-Landmarke auf dieser Seite.","landmarkUnique_hint_cantTell":"Geben Sie jeder {{role}}-Landmarke über aria-label oder aria-labelledby einen eigenen Namen.","emptyHeading_title":"Überschriften dürfen nicht leer sein","emptyHeading_description":"Prüft, ob Überschriften-Elemente (\u003ch1>-\u003ch6> oder role=\"heading\") einen nicht leeren zugänglichen Namen haben.","emptyHeading_summary_cantTell":"Diese Überschrift hat keinen zugänglichen Namen.","emptyHeading_hint_cantTell":"Fügen Sie dieser Überschrift Textinhalt (oder aria-label/aria-labelledby) hinzu, oder entfernen Sie sie, wenn sie nicht benötigt wird.","headingOrder_title":"Überschriftenebenen dürfen keine Ebene überspringen","headingOrder_description":"Prüft, ob Überschriftenebenen in Dokumentreihenfolge jeweils höchstens um eine Ebene steigen.","headingOrder_summary_cantTell":"Diese Überschrift springt von Ebene {{fromLevel}} auf Ebene {{toLevel}} und überspringt dabei eine Ebene.","headingOrder_hint_cantTell":"Verwenden Sie aufeinanderfolgende Überschriftenebenen (überspringen Sie beim Tieferwerden keine Ebene), damit die Dokumentgliederung vorhersehbar bleibt.","pageHasHeadingOne_title":"Die Seite sollte eine Überschrift der Ebene eins haben","pageHasHeadingOne_description":"Prüft, ob die Seite mindestens eine Überschrift der Ebene eins hat (\u003ch1> oder role=\"heading\" mit aria-level=\"1\").","pageHasHeadingOne_summary_cantTell":"Diese Seite hat keine Überschrift der Ebene eins.","pageHasHeadingOne_hint_cantTell":"Fügen Sie eine Überschrift der Ebene eins hinzu (\u003ch1> oder role=\"heading\" aria-level=\"1\"), die den Hauptinhalt der Seite identifiziert.","accesskeys_title":"accesskey-Werte müssen eindeutig sein","accesskeys_description":"Prüft, ob nicht zwei Elemente auf der Seite denselben accesskey-Attributwert teilen.","accesskeys_summary_cantTell":"Der accesskey dieses Elements wird mit einem anderen Element auf der Seite geteilt.","accesskeys_hint_cantTell":"Machen Sie jeden accesskey-Wert auf der gesamten Seite eindeutig.","scopeAttrValid_title":"Das scope-Attribut muss einen gültigen Wert haben","scopeAttrValid_description":"Prüft, ob scope=\"…\" row, col, rowgroup oder colgroup ist.","scopeAttrValid_summary_cantTell":"Dieser scope-Attributwert wird nicht erkannt.","scopeAttrValid_hint_cantTell":"Verwenden Sie für das scope-Attribut row, col, rowgroup oder colgroup.","tabindex_title":"tabindex sollte nicht größer als 0 sein","tabindex_description":"Prüft, ob tabindex-Werte 0 oder negativ sind, nicht eine positive Zahl.","tabindex_summary_cantTell":"Dieses Element hat einen positiven tabindex, der die natürliche Tab-Reihenfolge überschreibt.","tabindex_hint_cantTell":"Verwenden Sie tabindex=\"0\" (oder einen negativen Wert, um es aus der Tab-Reihenfolge zu entfernen) anstelle einer positiven Zahl; korrigieren Sie stattdessen die DOM-Reihenfolge, wenn eine andere Tab-Reihenfolge benötigt wird.","emptyTableHeader_title":"Tabellen-Kopfzellen dürfen nicht leer sein","emptyTableHeader_description":"Prüft, ob \u003cth>-Elemente sichtbaren Textinhalt haben — eine Kopfzelle, die nur über aria-label/aria-labelledby benannt ist, wird ebenfalls markiert, da die tatsächliche Unterstützung durch Screenreader/Browser dafür uneinheitlich ist.","emptyTableHeader_summary_cantTell":"Diese Tabellen-Kopfzelle hat keinen zugänglichen Namen.","emptyTableHeader_hint_cantTell":"Fügen Sie dieser Kopfzelle Textinhalt (oder aria-label/aria-labelledby) hinzu, oder entfernen Sie sie, wenn sie nicht benötigt wird.","emptyTableHeader_summary_cantTell_ariaOnly":"Diese Tabellen-Kopfzelle hat keinen sichtbaren Text — ihr einziger zugänglicher Name stammt von aria-label/aria-labelledby, was bekanntermaßen von realen Screenreader-/Browser-Kombinationen (z. B. NVDA+Firefox, iOS VoiceOver+Safari) bei \u003cth>-Elementen ignoriert wird.","emptyTableHeader_hint_cantTell_ariaOnly":"Fügen Sie dieser Kopfzelle sichtbaren Textinhalt hinzu (zusätzlich zu, oder anstelle von, aria-label/aria-labelledby) — sichtbarer Text ist der einzige Benennungsmechanismus, der bei getesteten Screenreadern nachweislich funktioniert.","labelTitleOnly_title":"Formularelemente sollten title nicht als einzige Beschriftung verwenden","labelTitleOnly_description":"Prüft, ob ein Formularelement mit einem title-Attribut auch eine echte Beschriftung hat (label-Element, aria-label oder aria-labelledby).","labelTitleOnly_summary_cantTell":"Dieses Formularelement stützt sich auf das title-Attribut als einzige Beschriftung.","labelTitleOnly_hint_cantTell":"Fügen Sie zusätzlich zu, oder anstelle von, dem title-Attribut ein sichtbares \u003clabel> (oder aria-label/aria-labelledby) hinzu.","imageRedundantAlt_title":"Der Alternativtext eines Bildes darf angrenzenden sichtbaren Text nicht duplizieren","imageRedundantAlt_description":"Prüft, ob der Alternativtext eines \u003cimg> nicht mit anderem, bereits in seinem unmittelbaren übergeordneten Element vorhandenem sichtbaren Text identisch ist.","imageRedundantAlt_summary_cantTell":"Der Alternativtext dieses Bildes dupliziert anderen sichtbaren Text direkt daneben.","imageRedundantAlt_hint_cantTell":"Setzen Sie den Alternativtext auf leer (alt=\"\"), wenn das Bild neben dem Text rein dekorativ ist, oder entfernen Sie die redundante Duplizierung.","tableDuplicateName_title":"Die Tabellenbeschriftung darf ihr summary-Attribut nicht duplizieren","tableDuplicateName_description":"Prüft, ob der \u003ccaption>-Text einer \u003ctable> nicht identisch mit ihrem (veralteten) summary-Attribut ist.","tableDuplicateName_summary_cantTell":"Die Beschriftung dieser Tabelle dupliziert ihr summary-Attribut.","tableDuplicateName_hint_cantTell":"Entfernen Sie das redundante summary-Attribut, oder lassen Sie es andere Informationen als die Beschriftung liefern.","metaViewportLarge_title":"Der Viewport-Meta-Tag sollte ein Zoomen bis zu 500 % erlauben","metaViewportLarge_description":"Prüft, ob \u003cmeta name=\"viewport\"> nicht user-scalable=no oder maximum-scale unter 5 (500 %) setzt.","metaViewportLarge_summary_cantTell":"Dieser Viewport-Meta-Tag schränkt den Zoom unter das empfohlene Ziel von 500 % ein.","metaViewportLarge_hint_cantTell":"Entfernen Sie user-scalable=no und erhöhen Sie maximum-scale nach Möglichkeit auf mindestens 5 (500 %).","presentationRoleConflict_title":"Eine präsentationale Rolle darf nicht mit einem globalen ARIA-Attribut oder Fokussierbarkeit im Konflikt stehen","presentationRoleConflict_description":"Prüft, ob role=\"presentation\"/\"none\" (einschließlich der impliziten presentation-Rolle eines \u003cimg alt=\"\">) nicht mit einem globalen ARIA-Attribut (aria-label, aria-hidden, aria-describedby, …) oder Fokussierbarkeit (tabindex/nativ) kombiniert wird.","presentationRoleConflict_summary_cantTell":"Dieses Element mit role=\"{{role}}\" hat außerdem eine widersprüchliche Bedingung ({{attrs}}), die seine implizite Rolle wiederherstellt und die präsentationale Absicht aufhebt.","presentationRoleConflict_hint_cantTell":"Entfernen Sie das/die widersprüchliche(n) Benennungsattribut(e) und/oder die Fokussierbarkeit (tabindex/nativ), wenn das Element präsentational bleiben soll, oder entfernen Sie role=\"presentation\"/\"none\", wenn es assistiven Technologien zur Verfügung gestellt werden soll.","region_title":"Der Seiteninhalt sollte sich innerhalb einer Landmarke befinden","region_description":"Prüft, ob Inhalt unter \u003cbody> innerhalb einer Landmarke enthalten ist.","region_summary_cantTell":"Dieser Inhalt befindet sich innerhalb keiner Landmarke.","region_hint_cantTell":"Verschieben Sie diesen Inhalt in eine Landmarke (main, nav, aside, ein beschrifteter Abschnitt usw.).","skipLink_title":"Ein Sprunglink muss ein auflösbares, nutzbares Ziel haben","skipLink_description":"Prüft, ob das href-Fragment eines „Zu … springen“-Links auf ein reales, derzeit nutzbares Element im Dokument aufgelöst wird.","skipLink_summary_cantTell":"Das Ziel dieses Sprunglinks existiert nicht.","skipLink_hint_cantTell":"Verweisen Sie mit dem href des Sprunglinks auf eine im Dokument existierende id, oder fügen Sie das fehlende Zielelement hinzu.","skipLink_summary_unusableTarget_cantTell":"Dieser Sprunglink zeigt auf ein Ziel, das existiert, aber derzeit nicht nutzbar ist.","skipLink_hint_unusableTarget_cantTell":"Verweisen Sie mit diesem Sprunglink auf ein Ziel, das als Navigationsziel verfügbar und nutzbar ist.","autocompleteValid_title":"Das autocomplete-Attribut muss ein gültiger Autofill-Wert sein","autocompleteValid_description":"Prüft, ob ein nicht leeres autocomplete-Attribut „on“/„off“ oder eine wohlgeformte Liste von Autofill-Detail-Tokens ist.","autocompleteValid_summary_fail":"Dieser autocomplete-Attributwert ist kein gültiger Autofill-Wert.","autocompleteValid_hint_fail":"Verwenden Sie „on“/„off“ oder eine gültige Liste von Autofill-Tokens (z. B. „shipping street-address“, „cc-number“).","htmlXmlLangMismatch_title":"lang und xml:lang dürfen sich nicht widersprechen","htmlXmlLangMismatch_description":"Prüft, ob die Attribute lang und xml:lang des \u003chtml>-Elements dieselbe Hauptsprache deklarieren, wenn beide vorhanden sind.","htmlXmlLangMismatch_summary_fail":"Die Attribute lang („{{lang}}“) und xml:lang („{{xmlLang}}“) deklarieren unterschiedliche Sprachen.","htmlXmlLangMismatch_hint_fail":"Lassen Sie lang und xml:lang dieselbe Hauptsprache deklarieren, oder entfernen Sie das veraltete Attribut xml:lang.","avoidInlineSpacing_title":"Inline-Stile dürfen den Textabstand nicht unter den WCAG-Wert erzwingen","avoidInlineSpacing_description":"Prüft, dass ein per !important erzwungener Wert für line-height, letter-spacing oder word-spacing WCAG 1.4.12 bereits erfüllt, sodass dem Nutzer nichts zu überschreiben bleibt.","avoidInlineSpacing_summary_fail":"Der Inline-Stil dieses Elements erzwingt {{properties}} mit !important und blockiert damit Überschreibungen des Textabstands durch den Nutzer.","avoidInlineSpacing_hint_fail":"Entfernen Sie !important von line-height/letter-spacing/word-spacing in Inline-Stilen, damit Nutzer den Textabstand überschreiben können.","metaRefreshNoExceptions_title":"Die Seite darf überhaupt keinen Meta-Refresh verwenden (AAA)","metaRefreshNoExceptions_description":"Prüft, ob \u003cmeta http-equiv=\"refresh\"> unabhängig von der Verzögerung überhaupt nicht vorhanden ist — das strengere AAA-Gegenstück zur A-Prüfung, die nur positive Verzögerungen betrachtet.","metaRefreshNoExceptions_summary_fail":"Diese Seite verwendet einen Meta-Refresh, eine automatische Kontextänderung, die nicht vom Nutzer ausgelöst wird.","metaRefreshNoExceptions_hint_fail":"Entfernen Sie den Meta-Refresh; lösen Sie die Weiterleitung/Aktualisierung stattdessen nur als Reaktion auf eine Nutzeraktion aus.","validLang_title":"Das lang-Attribut eines Elements muss syntaktisch gültig sein","validLang_description":"Prüft, ob jedes Element (außer dem Wurzelelement \u003chtml>) mit einem nicht leeren lang-Attribut ein syntaktisch gültiges Sprach-Tag verwendet.","validLang_summary_fail":"Dieser lang-Attributwert („{{value}}“) ist kein syntaktisch gültiges Sprach-Tag.","validLang_hint_fail":"Verwenden Sie ein gültiges BCP-47-Sprach-Tag (z. B. „fr“, „es-MX“).","linkInTextBlock_title":"Links in Textblöcken müssen sich vom umgebenden Text unterscheiden lassen, ohne sich allein auf Farbe zu verlassen","linkInTextBlock_description":"Prüft, ob ein Link innerhalb eines Textabschnitts durch Unterstreichung, einen Unterschied in Schriftgewicht/-stil oder einen ausreichenden (>= 3:1) Farbkontrastunterschied visuell vom umgebenden Text unterscheidbar ist — nicht allein durch Farbe.","linkInTextBlock_summary_fail":"Dieser Link in einem Textblock unterscheidet sich vom umgebenden Text ausschließlich durch Farbe.","linkInTextBlock_hint_fail":"Fügen Sie eine Unterstreichung oder einen Unterschied in Schriftgewicht/-stil hinzu, oder erhöhen Sie den Farbkontrast zwischen Link und umgebendem Text auf mindestens 3:1.","noAutoplayAudio_title":"Automatisch abgespieltes Audio sollte einen Mechanismus zum Pausieren/Stoppen oder zur Lautstärkeregelung bieten","noAutoplayAudio_description":"Markiert \u003caudio>/\u003cvideo>-Elemente, die unstummgeschaltet automatisch abspielen und kein natives controls-Attribut haben, zur manuellen Überprüfung im Hinblick auf die 3-Sekunden-Ausnahme in WCAG 1.4.2.","noAutoplayAudio_summary_cantTell":"Dieses Element spielt Audio automatisch ab, ohne einen nativen Mechanismus zum Pausieren/Stoppen oder zur Lautstärkeregelung.","noAutoplayAudio_hint_cantTell":"Falls dieser Clip länger als 3 Sekunden abläuft, fügen Sie ein controls-Attribut (oder einen gleichwertigen benutzerdefinierten Mechanismus) hinzu, damit Nutzer ihn pausieren/stoppen oder seine Lautstärke unabhängig von der Systemlautstärke regeln können.","videoCaption_title":"Voraufgezeichnetes Video sollte eine Untertitelspur bereitstellen","videoCaption_description":"Markiert \u003cvideo>-Elemente ohne \u003ctrack kind=\"captions\"|\"subtitles\">-Kind zur manuellen Überprüfung, ob das Video eine Audiospur hat, die Untertitel benötigt.","videoCaption_summary_cantTell":"Dieses Video hat keine Untertitelspur (captions oder subtitles).","videoCaption_hint_cantTell":"Falls dieses Video eine informationstragende Audiospur hat, fügen Sie ein \u003ctrack kind=\"captions\" src=\"…\"> mit dem untertitelten Inhalt hinzu.","scrollableRegionFocusable_title":"Scrollbare Bereiche ohne fokussierbaren Inhalt sollten per Tastatur fokussierbar sein","scrollableRegionFocusable_description":"Markiert Elemente, deren CSS overflow:auto/scroll deklariert, die keinen fokussierbaren Nachfahren enthalten und selbst nicht per Tastatur fokussierbar sind, zur manuellen Überprüfung, ob ihr Inhalt tatsächlich überläuft und Tastaturzugriff zum Scrollen benötigt.","scrollableRegionFocusable_summary_cantTell":"Dieses Element deklariert overflow:auto/scroll, hat keinen fokussierbaren Nachfahren und ist selbst nicht per Tastatur fokussierbar.","scrollableRegionFocusable_hint_cantTell":"Falls der Inhalt dieses Bereichs tatsächlich überläuft, fügen Sie tabindex=\"0\" (und eine geeignete Beschriftung) hinzu, damit Tastaturnutzer ihn fokussieren und mit den Pfeiltasten scrollen können.","identicalLinksSamePurpose_title":"Links mit demselben zugänglichen Namen sollten zum selben Ziel führen","identicalLinksSamePurpose_description":"Markiert Gruppen von Links, die denselben zugänglichen Namen teilen, aber zu mehr als einem unterschiedlichen Ziel führen, zur manuellen Überprüfung, ob sie demselben Zweck dienen.","identicalLinksSamePurpose_summary_cantTell":"Dieser Link teilt einen zugänglichen Namen mit anderen Links auf der Seite, die zu einem anderen Ziel führen.","identicalLinksSamePurpose_hint_cantTell":"Stellen Sie sicher, dass Links mit demselben Text demselben Zweck dienen, oder machen Sie den Linktext eindeutig genug, um jedes Ziel zu beschreiben.","ariaBrailleEquivalent_title":"aria-braillelabel/aria-brailleroledescription müssen ein Nicht-Braille-Äquivalent haben","ariaBrailleEquivalent_description":"Prüft, ob Elemente, die aria-braillelabel verwenden, auch einen regulären zugänglichen Namen haben, und Elemente, die aria-brailleroledescription verwenden, auch aria-roledescription haben.","ariaBrailleEquivalent_summary_fail":"Dieses Element hat {{attr}}, aber nicht {{requires}}, sein Nicht-Braille-Äquivalent.","ariaBrailleEquivalent_hint_fail":"{{attr}} ist eine Braille-spezifische Ergänzung, kein Ersatz — stellen Sie zusätzlich {{requires}} bereit.","ariaConditionalAttr_title":"aria-errormessage erfordert, dass aria-invalid auf einen Wert ungleich false gesetzt ist","ariaConditionalAttr_description":"Prüft, ob Elemente mit aria-errormessage auch aria-invalid auf „true“, „grammar“ oder „spelling“ gesetzt haben — andernfalls wird die Fehlermeldung aus dem Accessibility-Baum entfernt.","ariaConditionalAttr_summary_fail":"Dieses Element hat aria-errormessage, aber aria-invalid fehlt oder ist „false“, sodass die Fehlermeldung nicht zur Verfügung gestellt wird.","ariaConditionalAttr_hint_fail":"Setzen Sie aria-invalid auf „true“ (oder „grammar“/„spelling“), wann immer aria-errormessage assistiven Technologien zur Verfügung gestellt werden soll.","ariaCheckedStateMismatch_title":"Das aria-checked eines nativen Kontrollkästchens/Optionsfelds sollte seinem tatsächlichen Zustand entsprechen","ariaCheckedStateMismatch_description":"Markiert ein natives \u003cinput type=\"checkbox\">/\u003cinput type=\"radio\">, dessen expliziter aria-checked-Wert nicht mit seinem tatsächlichen aktivierten/unbestimmten Zustand übereinstimmt, zur manuellen Überprüfung.","ariaCheckedStateMismatch_summary_cantTell":"Der aria-checked-Wert dieses Elements stimmt nicht mit seinem tatsächlichen aktivierten/unbestimmten Zustand überein.","ariaCheckedStateMismatch_hint_cantTell":"Setzen Sie aria-checked passend zum tatsächlichen Zustand des Elements, oder entfernen Sie es — ein natives Kontrollkästchen/Optionsfeld stellt diesen Zustand bereits ohne dieses Attribut zur Verfügung.","cssOrientationLock_title":"CSS darf die Seite nicht auf eine einzige Ausrichtung festlegen","cssOrientationLock_description":"Prüft, ob keine @media (orientation: portrait|landscape)-Regel ein transform: rotate(...) auf der Seite setzt, eine bekannte Technik, um die Geräteausrichtung zu umgehen.","cssOrientationLock_summary_fail":"Eine Media Query „{{mediaText}}“ dreht „{{selectorText}}“ und legt die Seite damit auf eine Ausrichtung fest.","cssOrientationLock_summary_fail_unknownSelector":"Eine \"{{mediaText}}\"-Media-Query dreht ein Element ohne lesbaren Selektor und sperrt die Seite auf eine Ausrichtung.","cssOrientationLock_hint_fail":"Entfernen Sie die rotate()-Transformation aus der Ausrichtungs-Media-Query; lassen Sie die Seite stattdessen natürlich auf die Geräteausrichtung reagieren, anstatt eine visuelle Drehung zu erzwingen.","ariaText_title":"Elemente mit role=\"text\" sollten keine fokussierbaren Nachfahren haben","ariaText_description":"Prüft, ob Elemente mit role=\"text\" keinen fokussierbaren Nachfahren enthalten (Link, Schaltfläche, Formularelement, tabindex, iframe oder contenteditable).","ariaText_summary_cantTell":"Dieses Element mit role=\"text\" enthält einen fokussierbaren Nachfahren.","ariaText_hint_cantTell":"Entfernen Sie role=\"text\" (oder entfernen Sie den fokussierbaren Nachfahren) — ein Bereich mit „reinem Text“ sollte keinen fokussierbaren Inhalt enthalten.","focusOrderSemantics_title":"Zur Tab-Reihenfolge hinzugefügte Elemente sollten interaktive Semantik haben","focusOrderSemantics_description":"Markiert Elemente mit tabindex >= 0, deren explizite Rolle eine nicht interaktive strukturelle/dokumentarische Rolle ist (z. B. heading, list, region, presentation), zur manuellen Überprüfung.","focusOrderSemantics_summary_cantTell":"Dieses Element befindet sich in der Tab-Reihenfolge (tabindex=\"{{tabindex}}\"), hat jedoch eine nicht interaktive Rolle („{{role}}“).","focusOrderSemantics_hint_cantTell":"Entfernen Sie tabindex, wenn dieses Element nicht interaktiv sein soll, oder verwenden Sie eine interaktive Rolle, die seinem tatsächlichen Verhalten entspricht.","pAsHeading_title":"Ein \u003cp>, das wie eine Überschrift aussieht, sollte wahrscheinlich eine echte Überschrift sein","pAsHeading_description":"Markiert kurze \u003cp>-Elemente, deren gesamter Text fett ist und in >= 18px dargestellt wird, zur manuellen Überprüfung, ob stattdessen ein echtes Überschriften-Element verwendet werden sollte.","pAsHeading_summary_cantTell":"Dieser Absatz ist vollständig fett und wird in einer überschriftenähnlichen Größe dargestellt.","pAsHeading_hint_cantTell":"Wenn dieser Text einen neuen Abschnitt einleitet, verwenden Sie ein echtes Überschriften-Element (\u003ch1>-\u003ch6> oder role=\"heading\"), anstatt einen Absatz so zu gestalten, dass er wie eine Überschrift aussieht.","tableFakeCaption_title":"Die erste Zeile einer Tabelle sollte nicht eine echte \u003ccaption> ersetzen","tableFakeCaption_description":"Markiert Tabellen ohne \u003ccaption>, deren erste Zeile eine einzelne nicht leere Zelle hat, während andere Zeilen mehrere Zellen haben, zur manuellen Überprüfung, ob diese Zelle als unechte Beschriftung fungiert.","tableFakeCaption_summary_cantTell":"Diese Tabelle hat keine \u003ccaption>, aber ihre erste Zeile besteht aus einer einzelnen Zelle oberhalb von Zeilen mit mehreren Zellen — sie könnte als unechte Beschriftung fungieren.","tableFakeCaption_hint_cantTell":"Wenn diese Zelle die Tabelle beschreiben soll, verwenden Sie ein echtes \u003ccaption>-Element anstelle einer einzelnen Zelle in der ersten Zeile.","tdHasHeader_title":"Datenzellen in großen Tabellen müssen einen zugeordneten Header haben","tdHasHeader_description":"Prüft, ob jedes \u003ctd> in einer großen, einfachen Tabelle (ohne colspan/rowspan) einen zugeordneten Header hat — über ein headers-Attribut, ein implizites Spalten-\u003cth> darüber oder ein implizites Zeilen-\u003cth> links davon.","tdHasHeader_summary_fail":"Diese Datenzelle hat keinen zugeordneten Header (kein headers-Attribut, kein Spalten-\u003cth> darüber, kein Zeilen-\u003cth> links davon).","tdHasHeader_hint_fail":"Fügen Sie ein headers-Attribut hinzu, das auf die relevante(n) \u003cth>-id(s) verweist, oder strukturieren Sie die Tabelle so um, dass diese Zelle einen impliziten Zeilen-/Spalten-Header hat.","mouseOnlyEventHandlers_title":"Nur für den Zeiger bestimmte Inline-Event-Handler sollten ein per Tastatur erreichbares Äquivalent haben","mouseOnlyEventHandlers_description":"Markiert Elemente mit einem nur für den Zeiger bestimmten Inline-Event-Handler (onmouseover, onmouseout, onmousedown, onmouseup, ondblclick, onmousemove, onmouseenter, onmouseleave) ohne per Tastatur erreichbares Äquivalent (onkeydown/onkeyup/onkeypress/onfocus/onblur), zur manuellen Überprüfung.","mouseOnlyEventHandlers_summary_cantTell":"Dieses Element hat {{attrs}}, aber keinen entsprechenden, per Tastatur erreichbaren Handler.","mouseOnlyEventHandlers_hint_cantTell":"Fügen Sie onkeydown/onkeyup/onkeypress (oder onfocus/onblur für durch Hover ausgelöstes Verhalten) hinzu, damit diese Funktionalität auch per Tastatur erreichbar ist.","linkNameQuality_title":"Der Linktext sollte aussagekräftig sein, nicht generisch","linkNameQuality_description":"Markiert Links, deren vollständiger zugänglicher Name eine bekannte, wenig aussagekräftige Formulierung ist (z. B. „hier klicken“, „mehr erfahren“, „mehr“), zur manuellen Überprüfung, ob der Zweck ohne zusätzlichen Kontext klar ist.","linkNameQuality_summary_cantTell":"Der zugängliche Name dieses Links („{{name}}“) ist eine generische, wenig aussagekräftige Formulierung.","linkNameQuality_hint_cantTell":"Lassen Sie den Linktext selbst sein Ziel/seinen Zweck beschreiben (z. B. „Preisliste 2026 herunterladen“ statt „Herunterladen“), oder bestätigen Sie, dass der umgebende Kontext den Zweck bereits klar macht."});
|
|
22
|
+
})(typeof window !== 'undefined' ? window : this);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MPL-2.0 */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @surea11y/core -- es messages for the standalone browser bundle.
|
|
5
|
+
*
|
|
6
|
+
* Auto-generated by scripts/build-browser.js. Load it after
|
|
7
|
+
* surea11y.browser.js, then scan with { locale: 'es' }:
|
|
8
|
+
*
|
|
9
|
+
* <script src="surea11y.browser.js"></script>
|
|
10
|
+
* <script src="surea11y.i18n.es.js"></script>
|
|
11
|
+
*/
|
|
12
|
+
(function (global) {
|
|
13
|
+
'use strict';
|
|
14
|
+
|
|
15
|
+
if (!global.a11ycore || typeof global.a11ycore.registerMessages !== 'function') {
|
|
16
|
+
throw new Error(
|
|
17
|
+
'surea11y.i18n.es.js: load surea11y.browser.js first.'
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
global.a11ycore.registerMessages("es", {"img_altPresent_title":"\u003cimg> debe tener un atributo alt","img_altPresent_description":"Comprueba que los elementos \u003cimg> incluyan un atributo alt para ofrecer un mecanismo de alternativa textual.","img_altPresent_summary_fail":"Falta el atributo alt en \u003cimg>.","img_altPresent_hint_fail":"Agregar un atributo alt (usar alt=\"\" solo para imágenes decorativas).","area_altPresent_title":"\u003carea> debe tener un atributo alt","area_altPresent_description":"Comprueba que los elementos \u003carea> incluyan un atributo alt para ofrecer un mecanismo de alternativa textual.","area_altPresent_summary_fail":"Falta el atributo alt en \u003carea>.","area_altPresent_hint_fail":"Agregar un atributo alt (usar alt=\"\" solo para áreas decorativas).","inputImage_altPresent_title":"\u003cinput type=\"image\"> debe tener un atributo alt","inputImage_altPresent_description":"Comprueba que los elementos \u003cinput type=\"image\"> incluyan un atributo alt para ofrecer un mecanismo de alternativa textual.","inputImage_altPresent_summary_fail":"Falta el atributo alt en \u003cinput type=\"image\">.","inputImage_altPresent_hint_fail":"Agregar un atributo alt (usar alt=\"\" solo cuando se proporcione un nombre accesible por separado).","inputImage_altPresent_summary_defaultName":"El nombre accesible es el predeterminado del navegador para un boton de imagen y no aporta informacion.","inputImage_altPresent_hint_defaultName":"Sustituyelo por un texto que describa la accion del boton, por ejemplo \"Buscar\".","inputImage_altPresent_summary_emptyAlt":"Un alt=\"\" vacio en \u003cinput type=\"image\"> deja el control sin nombre.","inputImage_altPresent_hint_emptyAlt":"Describe la accion en alt, o nombra el control con aria-label o aria-labelledby.","ariaHidden_programmaticFocus_review_title":"Revisar el foco programático en aria-hidden","ariaHidden_programmaticFocus_review_description":"Señala elementos aria-hidden considerados elegibles debido a un foco programático (por ejemplo, tabindex \u003c 0). Verificar que la gestión del foco es intencionada y la exposición a las tecnologías de asistencia.","ariaHidden_programmaticFocus_review_summary":"Revisión: un elemento aria-hidden es enfocable de forma programática.","ariaHidden_programmaticFocus_review_hint":"Comprobar que la gestión del foco es intencionada y que el elemento debe permanecer oculto para las tecnologías de asistencia.","canvas_textAltPresent_title":"\u003ccanvas> debe proporcionar una alternativa textual","canvas_textAltPresent_description":"Comprueba que los elementos \u003ccanvas> proporcionen una alternativa textual mediante contenido de reserva o un nombre accesible.","canvas_textAltPresent_summary_fail":"Falta la alternativa textual para \u003ccanvas>.","canvas_textAltPresent_hint_fail":"Proporcionar texto de reserva dentro de \u003ccanvas> o un nombre accesible (por ejemplo, aria-label/aria-labelledby).","svg_textAltPresent_title":"\u003csvg> debe proporcionar una alternativa textual","svg_textAltPresent_description":"Comprueba que los elementos \u003csvg> en línea proporcionen una alternativa textual mediante un elemento \u003ctitle> o un nombre ARIA (un elemento \u003cdesc> por sí solo no cuenta).","svg_textAltPresent_summary_fail":"Falta la alternativa textual para \u003csvg>.","svg_textAltPresent_hint_fail":"Proporcionar un elemento \u003ctitle> con texto, o un nombre ARIA (aria-label/aria-labelledby); un elemento \u003cdesc> por sí solo no proporciona un nombre accesible.","object_textAltPresent_title":"\u003cobject> debe proporcionar una alternativa textual","object_textAltPresent_description":"Comprueba que los elementos \u003cobject> proporcionen una alternativa textual mediante contenido de reserva o un nombre accesible.","object_textAltPresent_summary_fail":"Falta la alternativa textual para \u003cobject>.","object_textAltPresent_hint_fail":"Proporcionar contenido de reserva significativo dentro de \u003cobject>, agregar un nombre accesible (aria-label/aria-labelledby), o usar un atributo title como alternativa de último recurso.","embed_textAltPresent_title":"\u003cembed> debe proporcionar una alternativa textual","embed_textAltPresent_description":"Comprueba que los elementos \u003cembed> proporcionen una alternativa textual mediante un nombre accesible.","embed_textAltPresent_summary_fail":"Falta la alternativa textual para \u003cembed>.","embed_textAltPresent_hint_fail":"Agregar un nombre accesible a \u003cembed> (se prefiere aria-label/aria-labelledby, o un atributo title como alternativa de último recurso).","img_altQuality_title":"El texto alt de \u003cimg> debe ser apropiado (revisión manual)","img_altQuality_description":"Señala elementos \u003cimg> con texto alt no vacío para su revisión manual en cuanto a idoneidad.","img_altQuality_summary_cantTell":"Revisar el texto alt de \u003cimg> en cuanto a exactitud e idoneidad.","img_altQuality_hint_cantTell":"Asegurarse de que el texto alt transmita el propósito o la información de la imagen en su contexto (que no sea redundante ni parezca un nombre de archivo).","img_altDecorative_title":"\u003cimg> con alt=\"\" debe ser decorativa (revisión manual)","img_altDecorative_description":"Señala elementos \u003cimg> con alt vacío para su revisión manual de que son puramente decorativos.","img_altDecorative_summary_cantTell":"Revisar si \u003cimg> es decorativa (alt=\"\").","img_altDecorative_hint_cantTell":"Confirmar que la imagen es puramente decorativa. Si transmite información o función, proporcionar un texto alt significativo.","area_altQuality_title":"El texto alt de \u003carea> debe ser apropiado (revisión manual)","area_altQuality_description":"Señala elementos \u003carea> con texto alt no vacío para su revisión manual en cuanto a idoneidad.","area_altQuality_summary_cantTell":"Revisar el texto alt de \u003carea> en cuanto a exactitud e idoneidad.","area_altQuality_hint_cantTell":"Asegurarse de que el texto alt identifique el destino o la acción del área del mapa de imagen en su contexto.","area_altDecorative_title":"\u003carea> con alt=\"\" debe ser decorativa (revisión manual)","area_altDecorative_description":"Señala elementos \u003carea> con alt vacío para su revisión manual de que son decorativos o no informativos.","area_altDecorative_summary_cantTell":"Revisar si \u003carea> es decorativa (alt=\"\").","area_altDecorative_hint_cantTell":"Confirmar que el área no transmite información ni función. Si es interactiva o significativa, proporcionar un texto alt significativo.","inputImage_altQuality_title":"El texto alt de \u003cinput type=\"image\"> debe ser apropiado (revisión manual)","inputImage_altQuality_description":"Señala elementos \u003cinput type=\"image\"> con texto alt no vacío para su revisión manual en cuanto a idoneidad.","inputImage_altQuality_summary_cantTell":"Revisar el texto alt de \u003cinput type=\"image\"> en cuanto a exactitud e idoneidad.","inputImage_altQuality_hint_cantTell":"Asegurarse de que el texto alt describa la acción del control (por ejemplo, \"Buscar\", \"Enviar pedido\") en su contexto.","inputImage_altDecorative_title":"\u003cinput type=\"image\"> con alt=\"\" debe ser apropiado (revisión manual)","inputImage_altDecorative_description":"Señala elementos \u003cinput type=\"image\"> con alt vacío para su revisión manual (normalmente no es apropiado para controles funcionales).","inputImage_altDecorative_summary_cantTell":"Revisar \u003cinput type=\"image\"> con alt=\"\".","inputImage_altDecorative_hint_cantTell":"Este control suele ser funcional. Confirmar que tiene un nombre accesible equivalente en otro lugar, o proporcionar un texto alt significativo.","canvas_textAltQuality_title":"La alternativa textual de \u003ccanvas> debe ser apropiada (revisión manual)","canvas_textAltQuality_description":"Señala elementos \u003ccanvas> con una alternativa textual detectada para su revisión manual en cuanto a equivalencia e idoneidad.","canvas_textAltQuality_summary_cantTell":"Revisar la alternativa textual de \u003ccanvas> en cuanto a equivalencia e idoneidad.","canvas_textAltQuality_hint_cantTell":"Confirmar que el texto de reserva o el nombre accesible transmite la misma información o función que el contenido del canvas.","svg_textAltQuality_title":"La alternativa textual de \u003csvg> debe ser apropiada (revisión manual)","svg_textAltQuality_description":"Señala gráficos \u003csvg> aplicables con una alternativa textual detectada para su revisión manual en cuanto a idoneidad.","svg_textAltQuality_summary_cantTell":"Revisar la alternativa textual de \u003csvg> en cuanto a exactitud e idoneidad.","svg_textAltQuality_hint_cantTell":"Confirmar que el \u003ctitle>/\u003cdesc> o el nombre ARIA transmite el significado o propósito del gráfico en su contexto.","object_textAltQuality_title":"La alternativa textual de \u003cobject> debe ser apropiada (revisión manual)","object_textAltQuality_description":"Señala elementos \u003cobject> con contenido de reserva o nombre detectados para su revisión manual en cuanto a equivalencia e idoneidad.","object_textAltQuality_summary_cantTell":"Revisar la alternativa textual de \u003cobject> en cuanto a equivalencia e idoneidad.","object_textAltQuality_hint_cantTell":"Confirmar que el contenido de reserva o el nombre ARIA proporciona una alternativa equivalente para el contenido incrustado.","embed_textAltQuality_title":"La alternativa textual de \u003cembed> debe ser apropiada (revisión manual)","embed_textAltQuality_description":"Señala elementos \u003cembed> con un nombre detectado para su revisión manual en cuanto a idoneidad.","embed_textAltQuality_summary_cantTell":"Revisar la alternativa textual de \u003cembed> en cuanto a exactitud e idoneidad.","embed_textAltQuality_hint_cantTell":"Confirmar que el nombre ARIA o el title identifica con precisión el contenido incrustado en su contexto.","videoPoster_textAltPresent_title":"El póster de \u003cvideo> debe tener una alternativa textual","videoPoster_textAltPresent_description":"Comprueba que los elementos \u003cvideo> con una imagen de póster proporcionen una alternativa textual (nombre accesible).","videoPoster_textAltPresent_summary_fail":"Falta la alternativa textual para el póster de \u003cvideo>.","videoPoster_textAltPresent_hint_fail":"Proporcionar un nombre accesible para la imagen del póster (se prefiere aria-label/aria-labelledby, o un atributo title como alternativa de reserva).","svgImage_textAltPresent_title":"El elemento \u003cimage> de SVG debe tener una alternativa textual","svgImage_textAltPresent_description":"Comprueba que los elementos \u003cimage> de SVG proporcionen una alternativa textual mediante \u003ctitle>/\u003cdesc> o un nombre accesible ARIA.","svgImage_textAltPresent_summary_fail":"Falta la alternativa textual en el \u003cimage> de SVG.","svgImage_textAltPresent_hint_fail":"Agregar un \u003ctitle> (y opcionalmente un \u003cdesc>) dentro de \u003cimage>, o proporcionar aria-label/aria-labelledby.","formControl_programmaticLabelPresent_title":"Los controles de formulario deben tener una etiqueta programática","formControl_programmaticLabelPresent_description":"Comprueba que los controles de formulario tengan una etiqueta programática mediante \u003clabel>, aria-label o aria-labelledby.","formControl_programmaticLabelPresent_summary_fail":"Al control de formulario le falta una etiqueta programática.","formControl_programmaticLabelPresent_hint_fail":"Proporcionar una asociación \u003clabel>, aria-label o aria-labelledby (placeholder/title no cuentan como etiquetas).","formControlAccessibleName_description":"Falla cuando un control de formulario aplicable no tiene nombre accesible (por ejemplo, label, aria-label, aria-labelledby).","formControlAccessibleName_hint_fail":"Proporcionar un nombre accesible mediante un \u003clabel>, aria-label o aria-labelledby.","formControlAccessibleName_summary_fail":"El control de formulario no tiene nombre accesible.","formControlAccessibleName_title":"Los controles de formulario deben tener un nombre accesible","linksTargetBlankNoopener_description":"Garantiza que los enlaces con target=\"_blank\" mitiguen los riesgos de reverse tabnabbing.","linksTargetBlankNoopener_hint_cantTell":"Consultar las indicaciones para esta regla.","linksTargetBlankNoopener_summary_cantTell":"Los enlaces que se abren en una nueva pestaña deben usar rel=\"noopener\"","linksTargetBlankNoopener_title":"Los enlaces que se abren en una nueva pestaña deben usar rel=\"noopener\"","manualReview_description":"Señala que se requiere una revisión manual de la navegación por teclado y el orden del foco.","manualReview_hint_cantTell":"Consultar las indicaciones para esta regla.","manualReview_summary_cantTell":"Revisión manual: navegación por teclado y orden del foco","manualReview_title":"Revisión manual: navegación por teclado y orden del foco","rules.img-alt-suspicious.meta.title":"El texto alt sospechoso requiere verificación","rules.img-alt-suspicious.meta.description":"Identifica imágenes cuyo texto alt coincide con patrones sospechosos comunes (como nombres de archivo, URL, marcadores de posición o términos genéricos) y requiere verificación manual.","rules.img-alt-suspicious.occurrence.cantTell.summary":"El texto alt de la imagen parece sospechoso (\"{{alt}}\" parece {{pattern}}) y requiere verificación.","rules.img-alt-suspicious.occurrence.cantTell.hint":"Revisar el texto alt. Evitar nombres de archivo, URL, marcadores de posición o términos genéricos, y asegurarse de que la alternativa textual describa el propósito o la función de la imagen en su contexto.","formControl_programmaticLabelQuality_title":"Los controles de formulario no deben depender de placeholder o title como etiqueta principal","formControl_programmaticLabelQuality_description":"Señala controles de formulario cuyo nombre accesible calculado depende de placeholder o title como método de etiquetado principal. Se prefiere \u003clabel> o aria-labelledby.","formControl_programmaticLabelQuality_summary_cantTell":"La etiqueta principal del control de formulario proviene de {{method}}.","formControl_programmaticLabelQuality_hint_cantTell":"Preferir un \u003clabel> persistente o aria-labelledby. Evitar depender de placeholder/title como etiqueta principal.","html_lang_attr_title":"El idioma de la página está declarado","html_lang_attr_description":"Comprueba que el idioma predeterminado de la página esté declarado de forma programática.","html_lang_attr_missing_absent":"El idioma predeterminado de la página no está declarado.","html_lang_attr_hint_missing_absent":"Agregar un atributo lang al elemento \u003chtml> (por ejemplo: \u003chtml lang=\"en\">).","html_lang_attr_missing_empty":"El idioma predeterminado de la página está declarado pero vacío.","html_lang_attr_hint_missing_empty":"Establecer un valor de idioma válido en el atributo lang del elemento \u003chtml> (por ejemplo: \u003chtml lang=\"en\">).","html_lang_attr_invalid":"El idioma predeterminado de la página está declarado, pero el valor \"{{lang}}\" no es una etiqueta de idioma válida.","html_lang_attr_hint_invalid":"Usar una etiqueta de idioma BCP 47 válida en \u003chtml lang=\"…\"> (por ejemplo: \"en\", \"fr\", \"en-US\").","mediaTranscriptPresent_title":"Medios basados en tiempo: evidencia de transcripción o alternativa textual","mediaTranscriptPresent_description":"Encuentra elementos de audio y video en los que no hay evidencia sólida de una transcripción u otra alternativa textual en el contenido de la página. Esta regla es conservadora e informa revisión manual cuando falta evidencia o no se puede verificar.","mediaTranscriptPresent_summary_cantTell_missing":"No se demuestra claramente en el contenido de la página la presencia de una transcripción u otra alternativa textual para este \u003c{{element}}>.","mediaTranscriptPresent_hint_cantTell_missing":"Proporcionar una transcripción claramente identificada u otra alternativa textual para medios de solo audio o solo video pregrabados, por ejemplo una sección o enlace visible de \"Transcripción\".","mediaTranscriptPresent_summary_cantTell_unverified":"Puede haber disponible una transcripción u otra alternativa textual para este medio basado en tiempo, pero no se pudo verificar a partir del contenido de la página.","mediaTranscriptPresent_hint_cantTell_unverified":"Asegurarse de que una transcripción claramente identificada u otra alternativa textual esté disponible y asociada visible o programáticamente con el medio en la página.","pageTitlePresent_title":"La página tiene un título no vacío","pageTitlePresent_description":"Comprueba que la página incluya un elemento \u003ctitle> no vacío que la identifique.","pageTitlePresent_summary_fail":"La página no tiene un título no vacío.","pageTitlePresent_hint_fail":"Agregar un elemento \u003ctitle> con texto que describa el tema o propósito de la página.","pageTitlePatterns_title":"Patrones de título de página que pueden ser poco descriptivos","pageTitlePatterns_description":"Identifica patrones de título de página que pueden indicar baja descriptividad, como títulos genéricos, duplicados o excesivamente basados en plantillas. Esta regla ofrece señales de revisión y no falla automáticamente.","pageTitlePatterns_summary_cantTell":"Es posible que el título de la página no sea lo bastante descriptivo para identificar su tema o propósito.","pageTitlePresent_summary_fail_missing":"A la página le falta un elemento \u003ctitle>.","pageTitlePresent_summary_fail_empty":"La página tiene un \u003ctitle> vacío.","pageTitlePatterns_summary_cantTell_duplicateAcrossPages":"Varias páginas comparten el mismo título, lo que puede dificultar distinguirlas ({{duplicateGroups}} grupos duplicados en {{pagesAnalyzed}} páginas). Ejemplo: \"{{exampleTitle}}\".","pageTitlePatterns_summary_cantTell_templatedAcrossPages":"Muchos títulos de página parecen muy basados en plantillas, lo que puede reducir su capacidad de distinguir páginas ({{pagesAnalyzed}} páginas).","pageTitlePatterns_summary_cantTell_generic":"El título de la página es genérico y puede no identificar su tema o propósito.","pageTitlePatterns_summary_cantTell_veryShort":"El título de la página es muy corto y puede no identificar su tema o propósito.","pageTitlePatterns_summary_cantTell_templateLike":"El título de la página parece basado en una plantilla y puede no identificar su tema o propósito.","pageTitlePatterns_hint_cantTell":"Revisar el título de la página y asegurarse de que identifique claramente su tema o propósito y ayude a distinguirla de otras.","contrastComputable_title":"El contraste de color es computable para el texto renderizado","contrastComputable_description":"Determina si hay suficiente información disponible para calcular el contraste de color WCAG del texto visible (por ejemplo, sin degradados/imágenes/modos de fusión que hagan indeterminado el fondo).","contrastComputable_pass_allComputable":"El contraste es computable para todo el texto elegible ({{eligibleTextCount}} nodo(s) de texto).","contrastComputable_cantTell_generic":"Es posible que el contraste no sea computable ({{reasonCode}}).","contrastComputable_cantTell_bgImageOrGradient":"El contraste no es computable porque el fondo usa una imagen o un degradado ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgImage":"El contraste no es computable porque el fondo usa una imagen ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgGradient":"El contraste no es computable porque el fondo usa un degradado ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_bgImageAndGradient":"El contraste no es computable porque el fondo usa una imagen y un degradado ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_mixBlendMode":"El contraste no es computable porque se usa mix-blend-mode ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_filter":"El contraste no es computable porque se usa filter/backdrop-filter ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_rootNotOpaque":"El contraste no es computable porque el fondo efectivo no es completamente opaco en la raíz (alpha={{backgroundAlpha}}).","contrastComputable_cantTell_foregroundUnparsable":"El contraste no es computable porque no se pudo analizar el color de primer plano calculado.","contrastComputable_cantTell_engineFailure":"No se pudo determinar la computabilidad del contraste debido a un error interno del motor ({{reasonCode}}).","contrastComputable_cantTell_backdropFilter":"El contraste no es computable porque se usa backdrop-filter ({{blockerProperty}}={{blockerValue}}).","contrastComputable_cantTell_filterOrBackdropFilter":"El contraste no es computable porque se usa filter ({{blockerProperty}}={{blockerValue}}).","contrastMinimum_title":"El texto cumple el contraste de color mínimo (AA)","contrastMinimum_description":"Comprueba que el texto visible tenga una relación de contraste de al menos 4.5:1 (normal) o 3.0:1 (grande), cuando el contraste es computable a partir de CSS.","contrastMinimum_fail_belowThreshold":"El elemento tiene un contraste de color insuficiente de {{ratio}}:1 (primer plano: {{foregroundHex}}, fondo: {{backgroundHex}}, tamaño de fuente: {{fontSizePx}}px, grosor de fuente: {{fontWeightLabel}}). Se esperaba una relación de contraste de {{threshold}}:1 ({{#isLargeText}}texto grande{{/isLargeText}}{{^isLargeText}}texto normal{{/isLargeText}}).","contrastMinimum_pass_allAboveThreshold":"Todo el texto computable cumple el contraste mínimo (AA). Nodos de texto elegibles: {{eligibleTextCount}}. Computables: {{computableTextCount}}.","contrastMinimum_notApplicable_noComputableText":"Ningún texto elegible tuvo contraste computable (nodos de texto elegibles: {{eligibleTextCount}}). Consultar la regla de computabilidad de contraste para más información.","contrastMinimum_cantTell_engineFailure":"No se pudo determinar el contraste mínimo (AA) debido a un error interno del motor ({{reasonCode}}).","contrastEnhanced_title":"El texto cumple el contraste de color mejorado (AAA)","contrastEnhanced_description":"Comprueba que el texto visible tenga una relación de contraste de al menos 7.0:1 (normal) o 4.5:1 (grande), cuando el contraste es computable a partir de CSS.","contrastEnhanced_fail_belowThreshold":"El elemento tiene un contraste de color insuficiente (AAA) de {{ratio}}:1 (primer plano: {{foregroundHex}}, fondo: {{backgroundHex}}, tamaño de fuente: {{fontSizePx}}px, grosor de fuente: {{fontWeightLabel}}). Se esperaba una relación de contraste de {{threshold}}:1 ({{#isLargeText}}texto grande{{/isLargeText}}{{^isLargeText}}texto normal{{/isLargeText}}).","contrastEnhanced_pass_allAboveThreshold":"Todo el texto computable cumple el contraste mejorado (AAA). Nodos de texto elegibles: {{eligibleTextCount}}. Computables: {{computableTextCount}}.","contrastEnhanced_notApplicable_noComputableText":"Ningún texto elegible tuvo contraste computable (nodos de texto elegibles: {{eligibleTextCount}}). Consultar la regla de computabilidad de contraste para más información.","contrastEnhanced_cantTell_engineFailure":"No se pudo determinar el contraste mejorado (AAA) debido a un error interno del motor ({{reasonCode}}).","dom_textContrastMinimum_title":"El texto debe tener contraste suficiente (mínimo)","dom_textContrastMinimum_description":"Comprueba el contraste del texto visible contra su fondo calculado según el criterio de éxito 1.4.3 (AA) de WCAG 2.2, usando los estilos renderizados (tamaño/grosor de fuente) para determinar la relación requerida.","dom_textContrastMinimum_summary_fail":"Contraste de texto insuficiente: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} sobre fondo {{bgColor}}. Fuente {{fontSizePx}}px, grosor {{fontWeight}}{{#isBold}}, negrita{{/isBold}}{{#isLargeText}} (texto grande){{/isLargeText}}.","dom_textContrastMinimum_hint_fail":"Ajustar el color de primer plano o de fondo para que la relación de contraste sea de al menos {{requiredRatio}}:1 para este tamaño/grosor de texto.","dom_textContrastMinimum_summary_pass":"Contraste de texto correcto: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} sobre fondo {{bgColor}}. Fuente {{fontSizePx}}px, grosor {{fontWeight}}{{#isBold}}, negrita{{/isBold}}{{#isLargeText}} (texto grande){{/isLargeText}}.","dom_textContrastMinimum_summary_cantTell":"No se pudo calcular de forma fiable el contraste del texto porque el fondo efectivo no se puede resolver de forma determinista (por ejemplo, imagen, degradado, video, canvas, transparencia compleja o fusión de capas).","dom_textContrastMinimum_hint_cantTell":"Verificar manualmente el contraste donde el texto se superpone a imágenes/degradados/transparencias; asegurarse de que cumpla {{requiredRatio}}:1 para el tamaño/grosor de texto calculado.","dom_textContrastEnhanced_title":"El texto debe tener contraste suficiente (mejorado)","dom_textContrastEnhanced_description":"Comprueba el contraste del texto visible contra su fondo calculado según el criterio de éxito 1.4.6 (AAA) de WCAG 2.2, usando los estilos renderizados (tamaño/grosor de fuente) para determinar la relación requerida.","dom_textContrastEnhanced_summary_fail":"Contraste de texto mejorado insuficiente: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} sobre fondo {{bgColor}}. Fuente {{fontSizePx}}px, grosor {{fontWeight}}{{#isBold}}, negrita{{/isBold}}{{#isLargeText}} (texto grande){{/isLargeText}}.","dom_textContrastEnhanced_hint_fail":"Ajustar el color de primer plano o de fondo para que la relación de contraste sea de al menos {{requiredRatio}}:1 para el contraste mejorado (AAA).","dom_textContrastEnhanced_summary_pass":"Contraste de texto mejorado correcto: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} sobre fondo {{bgColor}}. Fuente {{fontSizePx}}px, grosor {{fontWeight}}{{#isBold}}, negrita{{/isBold}}{{#isLargeText}} (texto grande){{/isLargeText}}.","dom_textContrastEnhanced_summary_cantTell":"No se pudo calcular de forma fiable el contraste de texto mejorado porque el fondo efectivo no se puede resolver de forma determinista (por ejemplo, imagen, degradado, video, canvas, transparencia compleja o fusión de capas).","dom_textContrastEnhanced_hint_cantTell":"Verificar manualmente el contraste mejorado (AAA) donde el texto se superpone a imágenes/degradados/transparencias; asegurarse de que cumpla {{requiredRatio}}:1 para el tamaño/grosor de texto calculado.","dom_nonTextContrast_title":"Los componentes de interfaz y los gráficos deben tener contraste suficiente","dom_nonTextContrast_description":"Comprueba el contraste de información visual no textual (límites y estados de componentes de interfaz, y objetos gráficos significativos) según el criterio de éxito 1.4.11 (AA) de WCAG 2.2.","dom_nonTextContrast_summary_fail":"Contraste no textual insuficiente: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} contra fondo {{bgColor}}. Componente: {{componentKind}}{{#componentState}} (estado: {{componentState}}){{/componentState}}.","dom_nonTextContrast_hint_fail":"Ajustar los colores del componente o gráfico para que la relación de contraste sea de al menos {{requiredRatio}}:1 para el límite perceptible o la información visual esencial.","dom_nonTextContrast_summary_pass":"Contraste no textual correcto: {{contrastRatio}}:1 (requerido {{requiredRatio}}:1). Primer plano {{fgColor}} contra fondo {{bgColor}}. Componente: {{componentKind}}{{#componentState}} (estado: {{componentState}}){{/componentState}}.","dom_nonTextContrast_summary_cantTell":"No se pudo calcular de forma fiable el contraste no textual porque el fondo efectivo o los píxeles pintados no se pueden resolver de forma determinista (por ejemplo, imagen/degradado/video/canvas, transparencia compleja o fusión de capas).","dom_nonTextContrast_hint_cantTell":"Verificar manualmente el contraste del componente o gráfico contra los colores adyacentes; asegurarse de que cumpla {{requiredRatio}}:1 para la información visual no textual esencial.","contrastEnhanced_pass_allTextMeetsThreshold":"Todo el texto computable cumple el contraste mejorado (AAA).","contrastMinimum_pass_allTextMeetsThreshold":"Todo el texto computable cumple el contraste mínimo (AA).","contrastComputable_cantTell_notComputable":"No se pudo calcular el contraste para este texto ({{reasonCode}}).","roleImg_textAlternativePresent_title":"Los elementos con role=\"img\" deben tener una alternativa textual accesible","roleImg_textAlternativePresent_description":"Comprueba que los elementos con role=\"img\" proporcionen una alternativa textual accesible mediante aria-label, aria-labelledby o un atributo title.","roleImg_textAlternativePresent_summary_fail":"El elemento con role=\"img\" no tiene una alternativa textual accesible.","roleImg_textAlternativePresent_hint_fail":"Proporcionar una alternativa textual mediante aria-label, o aria-labelledby que haga referencia a texto no vacío.","targetSizeMinimum_title":"Los objetivos de puntero deben tener al menos 24x24px de tamaño, o dejar suficiente distancia respecto a otros objetivos","targetSizeMinimum_description":"Comprueba que los objetivos operables por puntero tengan una zona de contacto efectiva de al menos 24 por 24 píxeles CSS, o cumplan una excepción permitida (por ejemplo, espaciado suficiente).","targetSizeMinimum_summary_fail":"Uno o más objetivos de puntero son más pequeños que 24×24 px CSS y están demasiado cerca de otro objetivo.","targetSizeMinimum_hint_fail":"Aumentar el tamaño del objetivo a al menos 24×24 px CSS o agregar suficiente espaciado respecto a los objetivos vecinos.","targetSizeMinimum_summary_cantTell_ambiguousSpacing":"El objetivo puede ser demasiado pequeño y estar demasiado cerca de otro objetivo, pero la superposición está cerca del umbral de detección y no se pudo medir con confianza.","targetSizeMinimum_hint_cantTell_ambiguousSpacing":"Verificar manualmente el espaciado efectivo entre este objetivo y su vecino; aumentar el tamaño del objetivo o el espaciado si la superposición es real.","targetSizeMinimum_summary_cantTell_plausiblyEssential":"El objetivo es demasiado pequeño y está demasiado cerca de otro objetivo, pero puede estar exento por formar parte de un gráfico esencial o una región de mapa de imagen.","targetSizeMinimum_hint_cantTell_plausiblyEssential":"Verificar si el tamaño de este objetivo es realmente esencial para su función (por ejemplo, parte de un SVG/canvas/mapa de imagen); si no lo es, aumentar el tamaño del objetivo o el espaciado.","targetSizeMinimum_summary_cantTell_inlineLinkRun":"El objetivo es más pequeño que 24×24 px CSS y está cerca de otro enlace en línea dentro del mismo texto, donde puede aplicarse la excepción de contenido en línea.","targetSizeMinimum_hint_cantTell_inlineLinkRun":"Confirmar si estos enlaces forman parte de un texto en línea (que está exento); de lo contrario, aumentar el tamaño del objetivo a al menos 24×24 px CSS o agregar espaciado.","targetSizeMinimum_notApplicable_noTargets":"Ningún objetivo operable por puntero era elegible para la evaluación.","targetSizeMinimum_pass_allOk":"Todos los objetivos de puntero elegibles cumplen el tamaño mínimo o una excepción permitida.","ariaHidden_focus_title":"Los elementos ocultos con ARIA no deben ser enfocables","ariaHidden_focus_description":"Comprueba que los elementos con aria-hidden=\"true\" no sean enfocables ni contengan descendientes enfocables.","ariaHidden_focus_summary_fail_desc":"El elemento aria-hidden {{element}} contiene {{focusableCount}} elemento(s) enfocable(s).","ariaHidden_focus_summary_fail_self":"El elemento aria-hidden {{element}} es enfocable ({{focusableCount}} elemento(s) enfocable(s)).","ariaHidden_focus_summary_fail_self_and_desc":"El elemento aria-hidden {{element}} es enfocable y contiene {{descendantFocusableCount}} descendiente(s) enfocable(s) ({{focusableCount}} elemento(s) enfocable(s) en total).","ariaHidden_focus_hint_fail":"Eliminar la capacidad de enfoque de los descendientes o eliminar aria-hidden; asegurarse de que el orden de foco y el árbol de accesibilidad permanezcan alineados.","ariaHidden_focus_summary_cantTell_redirect":"El elemento aria-hidden {{element}} recibió el foco, pero el foco se movió de inmediato a otro elemento. Verificar el comportamiento de centinela/trampa de foco.","ariaHidden_focus_hint_cantTell_redirect":"Verificar que se trate de un traspaso intencionado de centinela/trampa de foco y que los usuarios de teclado nunca queden en objetivos de foco ocultos.","ariaHidden_focus_summary_cantTell_modal":"El elemento aria-hidden {{element}} contiene {{focusableCount}} elemento(s) enfocable(s) mientras hay un diálogo modal abierto. Si el modal mantiene atrapado el foco del teclado, pueden ser inalcanzables; verificar que el foco no pueda posarse en ellos.","ariaHidden_focus_hint_cantTell_modal":"Parece que hay un diálogo modal abierto. Es preferible volver inerte el fondo (o usar un \u003cdialog> nativo abierto con showModal()) para que salga del orden de tabulación, y luego verificar que el foco del teclado permanezca dentro del diálogo.","cssHidden_focus_title":"Los elementos enfocables no deben estar ocultos visualmente","cssHidden_focus_description":"Comprueba que los elementos enfocables por teclado no estén ocultos visualmente mediante técnicas CSS que puedan dejarlos en el orden de tabulación.","cssHidden_focus_summary_cantTell":"El elemento enfocable {{element}} está oculto visualmente ({{visibilityHints}}).","cssHidden_focus_hint_cantTell":"Hacer visible el elemento cuando pueda recibir foco de teclado, o eliminarlo del orden de tabulación hasta que sea visible.","linkNamePresent_title":"Los enlaces tienen un nombre accesible","linkNamePresent_description":"Comprueba que los enlaces expongan un nombre accesible no vacío.","linkNamePresent_summary_fail":"Este enlace no tiene nombre accesible.","linkNamePresent_hint_fail":"Proporcionar texto de enlace o un mecanismo de nombre accesible (por ejemplo, aria-label) para que las tecnologías de asistencia puedan identificar el enlace.","buttonNamePresent_title":"Los botones tienen un nombre accesible","buttonNamePresent_description":"Comprueba que los botones expongan un nombre accesible no vacío.","buttonNamePresent_summary_fail":"Este botón no tiene nombre accesible.","buttonNamePresent_hint_fail":"Proporcionar texto de botón visible o un mecanismo de nombre accesible programático (por ejemplo, aria-label) para que las tecnologías de asistencia puedan identificar el botón.","binaryControlNamePresent_title":"Los controles binarios tienen un nombre accesible","binaryControlNamePresent_description":"Comprueba que los controles de tipo casilla de verificación, botón de opción e interruptor expongan un nombre accesible no vacío.","binaryControlNamePresent_summary_fail":"Este control no tiene nombre accesible.","binaryControlNamePresent_hint_fail":"Proporcionar una etiqueta, aria-label, aria-labelledby, u otro mecanismo de nombre accesible para que las tecnologías de asistencia puedan identificar el control.","comboboxNamePresent_title":"Los cuadros combinados tienen un nombre accesible","comboboxNamePresent_description":"Comprueba que los elementos con role=\"combobox\" expongan un nombre accesible no vacío.","comboboxNamePresent_summary_fail":"Este cuadro combinado no tiene nombre accesible.","comboboxNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este cuadro combinado.","dialogNamePresent_title":"Los diálogos tienen un nombre accesible","dialogNamePresent_description":"Comprueba que los elementos con role=\"dialog\" o role=\"alertdialog\" expongan un nombre accesible no vacío.","dialogNamePresent_summary_fail":"Este diálogo no tiene nombre accesible.","dialogNamePresent_hint_fail":"Proporcionar aria-labelledby (preferido) o aria-label para que las tecnologías de asistencia puedan anunciar el diálogo.","menuitemNamePresent_title":"Los elementos de menú tienen un nombre accesible","menuitemNamePresent_description":"Comprueba que los elementos de menú (role=\"menuitem*\", incluidas las variantes casilla/opción) expongan un nombre accesible no vacío.","menuitemNamePresent_summary_fail":"Este elemento de menú no tiene nombre accesible.","menuitemNamePresent_hint_fail":"Proporcionar texto visible que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","tabNamePresent_title":"Las pestañas tienen un nombre accesible","tabNamePresent_description":"Comprueba que los elementos con role=\"tab\" expongan un nombre accesible no vacío.","tabNamePresent_summary_fail":"Esta pestaña no tiene nombre accesible.","tabNamePresent_hint_fail":"Proporcionar texto de pestaña que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","sliderNamePresent_title":"Los controles deslizantes tienen un nombre accesible","sliderNamePresent_description":"Comprueba que los controles deslizantes (input[type=\"range\"] y role=\"slider\") expongan un nombre accesible no vacío.","sliderNamePresent_summary_fail":"Este control deslizante no tiene nombre accesible.","sliderNamePresent_hint_fail":"Proporcionar una etiqueta, aria-label o aria-labelledby para que las tecnologías de asistencia puedan identificar el control deslizante.","textboxNamePresent_title":"Los cuadros de texto tienen un nombre accesible","textboxNamePresent_description":"Comprueba que los elementos con role=\"textbox\" expongan un nombre accesible no vacío.","textboxNamePresent_summary_fail":"Este cuadro de texto no tiene nombre accesible.","textboxNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este cuadro de texto.","searchboxNamePresent_title":"Los cuadros de búsqueda tienen un nombre accesible","searchboxNamePresent_description":"Comprueba que los elementos con role=\"searchbox\" expongan un nombre accesible no vacío.","searchboxNamePresent_summary_fail":"Este cuadro de búsqueda no tiene nombre accesible.","searchboxNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este cuadro de búsqueda.","spinbuttonNamePresent_title":"Los controles numéricos tienen un nombre accesible","spinbuttonNamePresent_description":"Comprueba que los elementos con role=\"spinbutton\" expongan un nombre accesible no vacío.","spinbuttonNamePresent_summary_fail":"Este control numérico no tiene nombre accesible.","spinbuttonNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este control numérico.","listboxNamePresent_title":"Los cuadros de lista tienen un nombre accesible","listboxNamePresent_description":"Comprueba que los elementos con role=\"listbox\" expongan un nombre accesible no vacío.","listboxNamePresent_summary_fail":"Este cuadro de lista no tiene nombre accesible.","listboxNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este cuadro de lista.","optionNamePresent_title":"Las opciones tienen un nombre accesible","optionNamePresent_description":"Comprueba que los elementos con role=\"option\" expongan un nombre accesible no vacío.","optionNamePresent_summary_fail":"Esta opción no tiene nombre accesible.","optionNamePresent_hint_fail":"Proporcionar texto de opción que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","treeitemNamePresent_title":"Los elementos de árbol tienen un nombre accesible","treeitemNamePresent_description":"Comprueba que los elementos con role=\"treeitem\" expongan un nombre accesible no vacío.","treeitemNamePresent_summary_fail":"Este elemento de árbol no tiene nombre accesible.","treeitemNamePresent_hint_fail":"Proporcionar texto de elemento de árbol que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","ariaRoleNamePresent_title":"Los roles ARIA de widget/contenedor tienen un nombre accesible","ariaRoleNamePresent_description":"Comprueba que determinados roles ARIA de widget/contenedor expongan un nombre accesible no vacío.","ariaRoleNamePresent_summary_fail":"Este elemento no tiene nombre accesible.","ariaRoleNamePresent_hint_fail":"Proporcionar aria-label o aria-labelledby (preferido), o un atributo title no vacío.","composite_rollup_summary":"Resultado de regla compuesta: {{reasonCode}} ({{testCount}} comprobaciones)","catalog.rules.wcag_111_non_text_content.title":"Contenido no textual: alternativas textuales","catalog.rules.wcag_111_non_text_content.description":"Agrupación de comprobaciones que garantizan que el contenido no textual tenga una alternativa textual apropiada.","catalog.rules.wcag_121_prerecorded_transcript.title":"Solo audio y solo video (pregrabado): transcripción","catalog.rules.wcag_121_prerecorded_transcript.description":"Agrupación de comprobaciones sobre la disponibilidad de transcripción para medios pregrabados de solo audio o solo video.","catalog.rules.wcag_143_contrast_minimum.title":"Contraste: mínimo","catalog.rules.wcag_143_contrast_minimum.description":"Agrupación de comprobaciones del contraste mínimo del texto.","catalog.rules.wcag_146_contrast_enhanced.title":"Contraste: mejorado","catalog.rules.wcag_146_contrast_enhanced.description":"Agrupación de comprobaciones del contraste de texto mejorado.","catalog.rules.wcag_242_page_titled.title":"Página titulada","catalog.rules.wcag_242_page_titled.description":"Agrupación de comprobaciones que garantizan que los documentos tengan un título de página significativo.","catalog.rules.wcag_247_focus_visible.title":"Foco visible","catalog.rules.wcag_247_focus_visible.description":"Agrupación de comprobaciones que garantizan que el foco de teclado no esté oculto y siga siendo perceptible.","catalog.rules.wcag_258_target_size_minimum.title":"Tamaño del objetivo: mínimo","catalog.rules.wcag_258_target_size_minimum.description":"Agrupación de comprobaciones que garantizan que los objetivos de puntero cumplan los requisitos de tamaño mínimo.","catalog.rules.wcag_311_language_of_page.title":"Idioma de la página","catalog.rules.wcag_311_language_of_page.description":"Agrupación de comprobaciones que garantizan que el idioma de la página esté especificado.","catalog.rules.wcag_412_name.title":"Nombre, rol, valor: nombre accesible","catalog.rules.wcag_412_name.description":"Agrupación de comprobaciones que garantizan que los elementos interactivos comunes expongan un nombre accesible no vacío.","labelInName_title":"Etiqueta en el nombre: el nombre accesible contiene el texto visible","labelInName_description":"Comprueba que, cuando un control tiene una etiqueta de texto visible, el nombre accesible contenga ese texto de etiqueta visible (WCAG 2.5.3).","labelInName_summary_fail":"{{element}}: la etiqueta visible \"{{visibleLabel}}\" (de {{labelSource}}) no está incluida en el nombre accesible (de {{nameMechanism}}).","labelInName_hint_fail":"Actualizar aria-label/aria-labelledby (o el texto de la etiqueta visible) para que el nombre accesible incluya el texto de la etiqueta visible.","labelInName_summary_cantTell":"{{element}}: la etiqueta visible \"{{visibleLabel}}\" (de {{labelSource}}) se diferencia del nombre accesible (de {{nameMechanism}}) solo por una abreviatura o por la separación con guion.","labelInName_hint_cantTell":"Comprobar manualmente si ambas redacciones coinciden: el marcado no permite distinguir una abreviatura intencionada de una discrepancia.","ariaRolesValid_title":"El atributo role debe ser un rol ARIA válido y no abstracto","ariaRolesValid_description":"Comprueba que un atributo role=\"\" explícito se resuelva en un rol WAI-ARIA real y no abstracto.","ariaRolesValid_summary_invalid":"role=\"{{role}}\" no es un rol ARIA reconocido.","ariaRolesValid_hint_invalid":"Usar un token de rol ARIA válido, o eliminar el atributo role si no aplica ninguno.","ariaRolesValid_summary_abstract":"role=\"{{role}}\" es un rol ARIA abstracto, que no debe usarse directamente.","ariaRolesValid_hint_abstract":"Reemplazar este rol abstracto por un rol concreto adecuado para el widget o la estructura.","ariaDeprecatedRole_title":"El atributo role no debería usar un rol ARIA obsoleto o desaconsejado para autores","ariaDeprecatedRole_description":"Comprueba que un atributo role=\"\" explícito no use un rol obsoleto según la especificación WAI-ARIA, ni uno reservado para uso interno del agente de usuario (por ejemplo, role=\"generic\").","ariaDeprecatedRole_summary_fail":"Este elemento usa role=\"{{role}}\", que los autores no deben declarar explícitamente.","ariaDeprecatedRole_summary_cantTell":"Este elemento usa role=\"{{role}}\", que está obsoleto en WAI-ARIA (todavía válido, pero desaconsejado).","ariaDeprecatedRole_summary_cantTell_discouraged":"Este elemento usa role=\"{{role}}\", que está reservado para los agentes de usuario (todavía válido, pero desaconsejado).","ariaDeprecatedRole_guidance_directory":"Reemplazarlo por role=\"list\" (su reemplazo recomendado).","ariaDeprecatedRole_guidance_generic":"Eliminarlo: este rol está reservado para uso interno de los agentes de usuario, no para los autores. Usar en su lugar role=\"presentation\"/\"none\" para quitar la semántica, un rol semántico como \"group\" para expresar agrupación, o simplemente un elemento corriente (que ya lleva el rol generic implícito).","ariaDeprecatedRole_guidance_default":"Reemplazar el rol obsoleto por su reemplazo recomendado.","ariaValidAttr_title":"Los atributos aria-* deben ser atributos ARIA reales y definidos","ariaValidAttr_description":"Comprueba que cada nombre de atributo aria-* presente en el DOM sea un atributo real definido por la especificación WAI-ARIA.","ariaValidAttr_summary_fail":"{{attr}} no es un atributo ARIA reconocido.","ariaValidAttr_hint_fail":"Corregir el nombre del atributo (comprobar si hay errores tipográficos), o eliminarlo si no es necesario.","ariaValidAttrValue_title":"Los valores de los atributos aria-* deben coincidir con su tipo declarado","ariaValidAttrValue_description":"Comprueba que cada atributo aria-* reconocido tenga un valor conforme a su tipo declarado por WAI-ARIA (booleano, tri-estado, token, entero, número o referencia de ID).","ariaValidAttrValue_summary_fail":"{{attr}}=\"{{value}}\" no es un valor válido para este atributo.","ariaValidAttrValue_hint_fail":"Usar un valor que coincida con el tipo esperado del atributo (consultar la especificación WAI-ARIA para este atributo).","ariaAllowedAttr_title":"Los atributos aria-* deben estar permitidos para el rol del elemento","ariaAllowedAttr_description":"Comprueba que cada atributo aria-* reconocido presente en un elemento con un rol explícito esté admitido globalmente o admitido por ese rol.","ariaAllowedAttr_summary_fail":"{{attr}} no está permitido en role=\"{{role}}\".","ariaAllowedAttr_hint_fail":"Eliminar este atributo, o usar un rol que lo admita.","ariaAllowedAttr_summary_cantTell":"{{attr}} está obsoleto en role=\"{{role}}\" (todavía permitido, pero desaconsejado).","ariaAllowedAttr_hint_cantTell":"Este atributo se eliminó del conjunto global de ARIA en 1.2; elimínelo o use un rol que lo admita, ya que una versión futura de ARIA podría no permitirlo.","ariaProhibitedAttr_title":"Los atributos de nombrado ARIA no deben usarse en roles que los prohíban","ariaProhibitedAttr_description":"Comprueba que aria-label/aria-labelledby no estén presentes en roles WAI-ARIA cuya especificación prohíbe explícitamente el nombrado ARIA (por ejemplo, generic, emphasis, strong, paragraph).","ariaProhibitedAttr_summary_fail":"{{attr}} está prohibido en role=\"{{role}}\".","ariaProhibitedAttr_hint_fail":"Eliminar este atributo; este rol no debe tener un nombre accesible.","ariaProhibitedAttr_summary_fail_roleless":"Este {{element}} no tiene rol ni ninguna otra fuente de nombre accesible, por lo que {{attr}} no se expone de forma fiable a las tecnologías de asistencia.","ariaProhibitedAttr_hint_fail_roleless":"Asignar a este elemento un rol que admita un nombre accesible (por ejemplo, role=\"img\"/\"button\"), o eliminar este atributo si no cumple ningún propósito sin uno.","ariaProhibitedAttr_summary_cantTell_roleless":"Este {{element}} no tiene rol, por lo que es posible que {{attr}} no se exponga como su nombre accesible a las tecnologías de asistencia; pero el propio contenido del elemento ya proporciona uno.","ariaProhibitedAttr_hint_cantTell_roleless":"Verificar si el contenido de texto existente ya funciona como etiqueta de este elemento; si es así, el atributo de nombrado es redundante, de lo contrario asignar al elemento un rol que admita nombrado (por ejemplo, role=\"img\").","ariaRequiredAttr_title":"Los roles con un estado/propiedad ARIA obligatorio deben incluirlo","ariaRequiredAttr_description":"Comprueba que los elementos con un rol explícito lleven todo estado/propiedad aria-* obligatorio, inequívoco e independiente del contexto para ese rol (por ejemplo, role=\"checkbox\" debe tener aria-checked).","ariaRequiredAttr_summary_fail":"{{attr}} es obligatorio para role=\"{{role}}\", pero falta.","ariaRequiredAttr_hint_fail":"Agregar este atributo con un valor válido para este rol.","ariaAllowedRole_title":"El rol explícito debe estar permitido para su elemento anfitrión","ariaAllowedRole_description":"Comprueba que un atributo role=\"\" explícito sea uno de los roles que la especificación ARIA-in-HTML permite para el elemento anfitrión (por ejemplo, role=\"tab\" no está permitido en \u003cnav>).","ariaAllowedRole_summary_fail":"role=\"{{role}}\" no está permitido en \u003c{{element}}>.","ariaAllowedRole_hint_fail":"Usar un rol permitido para este elemento, o cambiar el elemento anfitrión.","ariaRequiredChildren_title":"Los roles contenedores deben poseer al menos un rol hijo obligatorio","ariaRequiredChildren_description":"Comprueba que los roles contenedores con una entrada documentada de \"elementos propios obligatorios\" (list, listbox, menu, radiogroup, table, grid, tablist, tree, row, ...) contengan al menos un descendiente, o un elemento referenciado por aria-owns, con un rol propio aceptable.","ariaRequiredChildren_summary_fail":"role=\"{{role}}\" no tiene ningún hijo propio con alguno de los roles obligatorios: {{requiredRoles}}.","ariaRequiredChildren_hint_fail":"Agregar un descendiente (o un elemento referenciado por aria-owns) con alguno de los roles propios obligatorios.","ariaProhibitedChildren_title":"Los roles contenedores no deben poseer un hijo con un rol no permitido","ariaProhibitedChildren_description":"Comprueba que todo hijo perteneciente al árbol de accesibilidad de un rol contenedor (list, listbox, menu, menubar, radiogroup, rowgroup, table, grid, treegrid, tablist, tree, row) tenga uno de los roles propios permitidos por ese rol.","ariaProhibitedChildren_summary_fail":"Este elemento tiene role=\"{{childRole}}\", que no es un rol hijo propio permitido dentro del contenedor role=\"{{containerRole}}\" que lo envuelve.","ariaProhibitedChildren_hint_fail":"Eliminar o cambiar este rol para que coincida con uno de los roles propios permitidos del contenedor ({{allowedRoles}}), o mover este elemento fuera del contenedor {{containerRole}}.","ariaProhibitedChildren_summary_fail_roleless":"Este elemento no tiene un rol explícito pero lleva {{attr}}, lo que lo convierte en un nodo real del árbol de accesibilidad que no es un hijo propio permitido dentro del contenedor role=\"{{containerRole}}\" que lo envuelve.","ariaProhibitedChildren_hint_fail_roleless":"Eliminar {{attr}} (o la pertenencia al contenedor role=\"{{containerRole}}\"), o asignar a este elemento role=\"presentation\"/\"none\" si no está pensado para ser su propio nodo del árbol de accesibilidad.","ariaProhibitedChildren_summary_fail_native_focusable":"Este elemento no tiene un rol explícito, pero es enfocable de forma nativa, lo que lo convierte en un nodo real del árbol de accesibilidad que no es un hijo propio permitido dentro del contenedor role=\"{{containerRole}}\" que lo envuelve.","ariaProhibitedChildren_hint_fail_native_focusable":"Asignar a este elemento role=\"presentation\"/\"none\", eliminar su capacidad de enfoque nativa (por ejemplo, quitar el atributo href/tabindex que la otorga), o moverlo fuera del contenedor {{containerRole}}.","ariaRequiredParent_title":"Los roles que requieren un rol de contexto específico deben estar en ese contexto","ariaRequiredParent_description":"Comprueba que los roles con una entrada documentada de \"rol de contexto obligatorio\" (listitem, option, tab, treeitem, row, cell, ...) tengan un ancestro, o un propietario aria-owns, con un rol de contexto aceptable.","ariaRequiredParent_summary_fail":"role=\"{{role}}\" requiere un rol de contexto entre: {{requiredRoles}}, que no se encontró.","ariaRequiredParent_hint_fail":"Colocar este elemento dentro de (o referenciarlo mediante aria-owns desde) un elemento con un rol de contexto aceptable.","deprecatedElements_title":"No deben usarse elementos obsoletos no detenibles (\u003cblink>, \u003cmarquee>)","deprecatedElements_description":"Comprueba que no estén presentes elementos HTML obsoletos y no estándar cuyo contenido parpadeante o en desplazamiento no pueda ser pausado, detenido u ocultado por el usuario (\u003cblink>, \u003cmarquee>).","deprecatedElements_summary_fail":"El contenido de \u003c{{element}}> no puede ser pausado, detenido ni ocultado por el usuario.","deprecatedElements_hint_fail":"Eliminar este elemento; usar contenido estático, o una animación con un control de pausa/detención visible para el usuario, en su lugar.","iframeNamePresent_title":"Los marcos tienen un nombre accesible","iframeNamePresent_description":"Comprueba que los elementos \u003ciframe>/\u003cframe> expongan un nombre accesible no vacío mediante aria-label, aria-labelledby o el atributo title.","iframeNamePresent_summary_fail":"Este \u003c{{element}}> no tiene nombre accesible.","iframeNamePresent_hint_fail":"Agregar un atributo title (o aria-label/aria-labelledby) que describa el contenido o el propósito del marco.","iframeTitleUnique_title":"Los títulos de los marcos deben ser únicos","iframeTitleUnique_description":"Comprueba que dos elementos \u003ciframe>/\u003cframe> no compartan, dentro del alcance, el mismo valor de atributo title.","iframeTitleUnique_summary_fail":"El título \"{{title}}\" de este \u003c{{element}}> no es único entre los marcos de esta página.","iframeTitleUnique_hint_fail":"Asignar a cada marco un título distinto que describa su contenido o propósito específico.","iframeFocusableContent_title":"Los marcos con tabindex=\"-1\" no deben contener contenido enfocable","iframeFocusableContent_description":"Comprueba que los elementos \u003ciframe>/\u003cframe> del mismo origen con tabindex=\"-1\" no contengan contenido enfocable, ya que los navegadores no propagan esa restricción al documento incrustado del marco.","iframeFocusableContent_summary_fail":"Este \u003c{{element}}> tiene tabindex=\"-1\" pero su contenido incluye elementos enfocables, que siguen siendo alcanzables por teclado.","iframeFocusableContent_hint_fail":"Eliminar el contenido enfocable del marco, o eliminar tabindex=\"-1\" si el marco está pensado para ser alcanzable.","tableHeadersAttrValid_title":"El atributo \"headers\" de la celda de tabla debe referenciar celdas de encabezado válidas","tableHeadersAttrValid_description":"Comprueba que cada id en un atributo headers de \u003ctd>/\u003cth> se resuelva en un elemento \u003cth> dentro de la misma tabla (que no falte, que no sea un elemento distinto de th, y que no sea él mismo).","tableHeadersAttrValid_summary_fail":"El atributo headers de este \u003c{{element}}> referencia celda(s) de encabezado no válida(s): {{invalidIds}}.","tableHeadersAttrValid_hint_fail":"Actualizar el atributo headers para que cada id haga referencia a un elemento \u003cth> dentro de la misma tabla.","tableThHasDataCells_title":"Los elementos \u003cth> deben describir al menos una celda de datos","tableThHasDataCells_description":"Comprueba que una tabla que contiene elementos \u003cth> también contenga al menos una celda de datos \u003ctd> para que esos encabezados describan.","tableThHasDataCells_summary_fail":"Esta tabla tiene celdas de encabezado pero ninguna celda de datos que describir.","tableThHasDataCells_hint_fail":"Agregar celdas de datos (\u003ctd>) a la tabla, o eliminar las celdas de encabezado si la tabla no tiene datos.","ariaHiddenBody_title":"El \u003cbody> del documento no debe ser aria-hidden","ariaHiddenBody_description":"Comprueba que \u003cbody> no tenga aria-hidden=\"true\", lo que eliminaría toda la página del árbol de accesibilidad.","ariaHiddenBody_summary_fail":"El body del documento tiene aria-hidden=\"true\", lo que oculta toda la página a las tecnologías de asistencia.","ariaHiddenBody_hint_fail":"Eliminar aria-hidden de \u003cbody>. Ocultar elementos específicos en su lugar, si esa era la intención.","listChildrenValid_title":"Las listas solo deben contener directamente elementos de lista","listChildrenValid_description":"Comprueba que los elementos \u003cul>/\u003col> solo tengan como hijos directos \u003cli>, \u003cscript> o \u003ctemplate>.","listChildrenValid_summary_fail":"Este \u003c{{element}}> contiene un hijo directo que no es un elemento de lista: {{invalidChildren}}.","listChildrenValid_hint_fail":"Usar únicamente \u003cli> (o \u003cscript>/\u003ctemplate>) como hijos directos de \u003cul>/\u003col>; mover el resto del marcado dentro de un \u003cli>.","listitemParentValid_title":"Los elementos de lista deben estar dentro de un contenedor de lista","listitemParentValid_description":"Comprueba que los elementos \u003cli> estén contenidos por \u003cul>, \u003col>, o un elemento con role=\"list\".","listitemParentValid_summary_fail":"El padre de este elemento de lista (\u003c{{parentElement}}>) no es un contenedor de lista.","listitemParentValid_hint_fail":"Colocar este \u003cli> dentro de un \u003cul>/\u003col>, o asignar a su padre role=\"list\".","definitionListChildrenValid_title":"Las listas de descripción deben estar estructuradas correctamente","definitionListChildrenValid_description":"Comprueba que los elementos \u003cdl> solo contengan directamente grupos \u003cdt>/\u003cdd> (opcionalmente envueltos en un \u003cdiv>), \u003cscript>, \u003ctemplate> o \u003cstyle>.","definitionListChildrenValid_summary_fail_invalidChild":"Esta lista de descripción contiene un hijo directo o envuelto que no forma parte de un grupo dt/dd: {{invalidChildren}}.","definitionListChildrenValid_hint_fail_invalidChild":"Usar únicamente \u003cdt>/\u003cdd> (opcionalmente envueltos en un \u003cdiv>), \u003cscript>, \u003ctemplate> o \u003cstyle> dentro de \u003cdl>.","definitionListChildrenValid_summary_fail_noDtDd":"Esta lista de descripción no tiene ningún grupo término-definición \u003cdt>/\u003cdd>.","definitionListChildrenValid_hint_fail_noDtDd":"Agregar al menos un par \u003cdt>/\u003cdd> dentro de este \u003cdl>.","dlitemParentValid_title":"Los elementos de lista de descripción deben estar dentro de una lista de descripción","dlitemParentValid_description":"Comprueba que los elementos \u003cdt>/\u003cdd> estén contenidos por un \u003cdl>, directamente o mediante un único \u003cdiv> envolvente.","dlitemParentValid_summary_fail":"El padre (\u003c{{parentElement}}>) de este \u003c{{element}}> no es una lista de descripción.","dlitemParentValid_hint_fail":"Colocar este \u003cdt>/\u003cdd> dentro de un \u003cdl>, directamente o envuelto en un único \u003cdiv>.","duplicateIdAria_title":"Los IDs referenciados por ARIA deben ser únicos","duplicateIdAria_description":"Comprueba que cualquier valor de id referenciado por un atributo de referencia de ID de ARIA (aria-labelledby, aria-describedby, aria-owns, aria-controls, aria-activedescendant, aria-flowto, aria-errormessage, aria-details) sea único en el documento.","duplicateIdAria_summary_cantTell":"El id \"{{id}}\" está referenciado por un atributo ARIA, pero lo usan {{duplicateCount}} elementos; la referencia apunta al primero.","duplicateIdAria_hint_cantTell":"Comprobar que el primer elemento con ese id es el destino previsto, o hacer único el id dentro del documento.","summaryNamePresent_title":"Los elementos \u003csummary> tienen un nombre accesible","summaryNamePresent_description":"Comprueba que los elementos \u003csummary> expongan un nombre accesible no vacío.","summaryNamePresent_summary_fail":"Este resumen no tiene nombre accesible.","summaryNamePresent_hint_fail":"Proporcionar texto de resumen que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","metaViewportZoomEnabled_title":"La etiqueta meta viewport no debe deshabilitar el zoom","metaViewportZoomEnabled_description":"Comprueba que \u003cmeta name=\"viewport\"> no establezca user-scalable=no ni maximum-scale por debajo de 2 (200%).","metaViewportZoomEnabled_summary_fail":"Esta etiqueta meta viewport restringe la capacidad del usuario para hacer zoom ({{reasons}}).","metaViewportZoomEnabled_hint_fail":"Eliminar user-scalable=no y cualquier maximum-scale por debajo de 2 del contenido de la etiqueta meta viewport.","metaRefreshTimingAbsent_title":"La página no debe usar un meta refresh con temporización","metaRefreshTimingAbsent_description":"Comprueba que \u003cmeta http-equiv=\"refresh\"> no imponga un retraso positivo de 20 horas o menos.","metaRefreshTimingAbsent_summary_fail":"Esta página se actualiza automáticamente después de {{delay}} segundos.","metaRefreshTimingAbsent_hint_fail":"Eliminar el meta refresh con temporización, o proporcionar una forma de que los usuarios lo desactiven, lo extiendan o lo pausen antes de que se active.","meterNamePresent_title":"Los medidores tienen un nombre accesible","meterNamePresent_description":"Comprueba que los elementos con role=\"meter\" expongan un nombre accesible no vacío.","meterNamePresent_summary_fail":"Este medidor no tiene nombre accesible.","meterNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de este medidor.","progressbarNamePresent_title":"Las barras de progreso tienen un nombre accesible","progressbarNamePresent_description":"Comprueba que los elementos con role=\"progressbar\" expongan un nombre accesible no vacío.","progressbarNamePresent_summary_fail":"Esta barra de progreso no tiene nombre accesible.","progressbarNamePresent_hint_fail":"Proporcionar aria-label, aria-labelledby o un atributo title; el contenido de texto visible no se expone como el nombre accesible de esta barra de progreso.","tooltipNamePresent_title":"La información sobre herramientas tiene un nombre accesible","tooltipNamePresent_description":"Comprueba que los elementos con role=\"tooltip\" expongan un nombre accesible no vacío.","tooltipNamePresent_summary_fail":"Esta información sobre herramientas no tiene nombre accesible.","tooltipNamePresent_hint_fail":"Proporcionar texto de información sobre herramientas que no esté oculto a las tecnologías de asistencia, o proporcionar aria-label o aria-labelledby.","serverSideImageMapAbsent_title":"Las imágenes no deben usar un mapa de imagen del lado del servidor","serverSideImageMapAbsent_description":"Comprueba que los elementos \u003cimg> no lleven el atributo ismap (los mapas de imagen del lado del servidor no tienen equivalente operable por teclado).","serverSideImageMapAbsent_summary_fail":"Esta imagen usa un mapa de imagen del lado del servidor, que no tiene equivalente operable por teclado.","serverSideImageMapAbsent_hint_fail":"Reemplazar el mapa de imagen del lado del servidor (ismap) por un mapa de imagen del lado del cliente (\u003cmap>/\u003carea>) o por enlaces/botones accesibles independientes.","formControlSingleLabel_title":"Los controles de formulario no deben tener varias etiquetas","formControlSingleLabel_description":"Comprueba que un control de formulario esté asociado a como máximo una \u003clabel> (por envoltura o mediante label[for]).","formControlSingleLabel_summary_fail":"Este \u003c{{element}}> está asociado a {{labelCount}} etiquetas.","formControlSingleLabel_hint_fail":"Mantener solo una \u003clabel> por control de formulario (ya sea envolviéndolo o referenciándolo mediante for/id).","formControlSingleLabel_summary_cantTell":"Este \u003c{{element}}> tiene una \u003clabel> que lo etiqueta más una asociación de \u003clabel> vacía adicional; verifique cómo se anuncia.","formControlSingleLabel_hint_cantTell":"Elimine la \u003clabel> vacía redundante para que solo una \u003clabel> quede asociada al control.","nestedInteractiveControlsAbsent_title":"Los controles interactivos no deben estar anidados","nestedInteractiveControlsAbsent_description":"Comprueba que un control interactivo (enlace, botón, control de formulario o rol de widget ARIA) no contenga otro control interactivo.","nestedInteractiveControlsAbsent_summary_fail":"Este \u003c{{element}}> contiene uno o más controles interactivos anidados: {{nestedElements}}.","nestedInteractiveControlsAbsent_hint_fail":"Mover el/los control(es) interactivo(s) anidado(s) fuera de este elemento; los controles interactivos anidados no son operables de forma fiable mediante tecnología de asistencia.","bypassBlocksPresent_title":"La página debe proporcionar una forma de omitir bloques repetidos","bypassBlocksPresent_description":"Comprueba que la página tenga al menos un mecanismo reconocido de omisión de bloques del criterio de éxito 2.4.1 de WCAG: un landmark main, un enlace de anclaje funcional dentro de la misma página, o un encabezado.","bypassBlocksPresent_summary_cantTell":"No se detectó ninguna forma reconocida de omitir bloques de contenido repetidos en esta página; verifique que exista un mecanismo de omisión.","bypassBlocksPresent_hint_cantTell":"Confirme que la página ofrece un mecanismo de omisión: un landmark main (\u003cmain> o role=\"main\"), un enlace funcional de \"saltar al contenido\", o elementos de encabezado que las tecnologías de asistencia puedan usar para saltar el contenido repetido. (Un mecanismo puede estar oculto temporalmente —por ejemplo, mientras un diálogo modal deja la página inerte— o proporcionarse a nivel de sitio; esto requiere confirmación humana.)","landmarkBannerIsTopLevel_title":"El landmark banner debe ser de nivel superior","landmarkBannerIsTopLevel_description":"Comprueba que el landmark banner (role=\"banner\" o un \u003cheader> no anidado) no esté anidado dentro de otra región landmark.","landmarkBannerIsTopLevel_summary_cantTell":"Este landmark banner está anidado dentro de otra región landmark.","landmarkBannerIsTopLevel_hint_cantTell":"Mover el landmark banner (header/role=\"banner\") para que no esté contenido por otro landmark; un banner debe ser una región de nivel superior de la página.","landmarkContentinfoIsTopLevel_title":"El landmark contentinfo debe ser de nivel superior","landmarkContentinfoIsTopLevel_description":"Comprueba que el landmark contentinfo (role=\"contentinfo\" o un \u003cfooter> no anidado) no esté anidado dentro de otra región landmark.","landmarkContentinfoIsTopLevel_summary_cantTell":"Este landmark contentinfo está anidado dentro de otra región landmark.","landmarkContentinfoIsTopLevel_hint_cantTell":"Mover el landmark contentinfo (footer/role=\"contentinfo\") para que no esté contenido por otro landmark; contentinfo debe ser una región de nivel superior de la página.","landmarkMainIsTopLevel_title":"El landmark main debe ser de nivel superior","landmarkMainIsTopLevel_description":"Comprueba que el landmark main (role=\"main\" o \u003cmain>) no esté anidado dentro de otra región landmark.","landmarkMainIsTopLevel_summary_cantTell":"Este landmark main está anidado dentro de otra región landmark.","landmarkMainIsTopLevel_hint_cantTell":"Mover el landmark main (\u003cmain>/role=\"main\") para que no esté contenido por otro landmark; main debe ser una región de nivel superior de la página.","landmarkNoDuplicateBanner_title":"La página no debe tener más de un landmark banner","landmarkNoDuplicateBanner_description":"Comprueba que exista como máximo un landmark banner (role=\"banner\" o un \u003cheader> no anidado) en la página.","landmarkNoDuplicateBanner_summary_cantTell":"Esta página tiene más de un landmark banner.","landmarkNoDuplicateBanner_hint_cantTell":"Mantener solo un landmark banner (header/role=\"banner\") por página.","landmarkNoDuplicateContentinfo_title":"La página no debe tener más de un landmark contentinfo","landmarkNoDuplicateContentinfo_description":"Comprueba que exista como máximo un landmark contentinfo (role=\"contentinfo\" o un \u003cfooter> no anidado) en la página.","landmarkNoDuplicateContentinfo_summary_cantTell":"Esta página tiene más de un landmark contentinfo.","landmarkNoDuplicateContentinfo_hint_cantTell":"Mantener solo un landmark contentinfo (footer/role=\"contentinfo\") por página.","landmarkNoDuplicateMain_title":"La página no debe tener más de un landmark main","landmarkNoDuplicateMain_description":"Comprueba que exista como máximo un landmark main (role=\"main\" o \u003cmain>) en la página.","landmarkNoDuplicateMain_summary_cantTell":"Esta página tiene más de un landmark main.","landmarkNoDuplicateMain_hint_cantTell":"Mantener solo un landmark main (\u003cmain>/role=\"main\") por página.","landmarkOneMain_title":"La página debería tener un landmark main","landmarkOneMain_description":"Comprueba que la página tenga al menos un landmark main (role=\"main\" o \u003cmain>).","landmarkOneMain_summary_cantTell_missing":"Esta página no tiene ningún landmark main.","landmarkOneMain_hint_cantTell_missing":"Agregar un landmark main (\u003cmain> o role=\"main\") alrededor del contenido principal de la página.","landmarkUnique_title":"Los landmarks con el mismo rol deben tener nombres únicos","landmarkUnique_description":"Comprueba que, cuando dos o más landmarks comparten el mismo rol, cada uno tenga un nombre accesible distinto.","landmarkUnique_summary_cantTell_duplicateName":"Este landmark {{role}} comparte su nombre accesible con otro landmark {{role}}.","landmarkUnique_summary_cantTell_bothUnnamed":"Este landmark {{role}} no tiene nombre accesible, y existe más de un landmark {{role}} sin nombre en esta página.","landmarkUnique_hint_cantTell":"Asignar a cada landmark {{role}} un nombre distinto mediante aria-label o aria-labelledby.","emptyHeading_title":"Los encabezados no deben estar vacíos","emptyHeading_description":"Comprueba que los elementos de encabezado (\u003ch1>-\u003ch6> o role=\"heading\") tengan un nombre accesible no vacío.","emptyHeading_summary_cantTell":"Este encabezado no tiene nombre accesible.","emptyHeading_hint_cantTell":"Agregar contenido de texto (o aria-label/aria-labelledby) a este encabezado, o eliminarlo si no es necesario.","headingOrder_title":"Los niveles de encabezado no deben saltar un nivel","headingOrder_description":"Comprueba que los niveles de encabezado aumenten como máximo en uno a la vez en el orden del documento.","headingOrder_summary_cantTell":"Este encabezado salta del nivel {{fromLevel}} al nivel {{toLevel}}, saltándose un nivel.","headingOrder_hint_cantTell":"Usar niveles de encabezado consecutivos (no saltar un nivel al profundizar) para que el esquema del documento se mantenga predecible.","pageHasHeadingOne_title":"La página debería tener un encabezado de nivel uno","pageHasHeadingOne_description":"Comprueba que la página tenga al menos un encabezado de nivel uno (\u003ch1> o role=\"heading\" con aria-level=\"1\").","pageHasHeadingOne_summary_cantTell":"Esta página no tiene ningún encabezado de nivel uno.","pageHasHeadingOne_hint_cantTell":"Agregar un encabezado de nivel uno (\u003ch1> o role=\"heading\" aria-level=\"1\") que identifique el contenido principal de la página.","accesskeys_title":"Los valores de accesskey deben ser únicos","accesskeys_description":"Comprueba que no haya dos elementos en la página que compartan el mismo valor de atributo accesskey.","accesskeys_summary_cantTell":"El accesskey de este elemento se comparte con otro elemento de la página.","accesskeys_hint_cantTell":"Hacer único cada valor de accesskey en toda la página.","scopeAttrValid_title":"El atributo scope debe tener un valor válido","scopeAttrValid_description":"Comprueba que scope=\"...\" sea uno de los valores row, col, rowgroup o colgroup.","scopeAttrValid_summary_cantTell":"Este valor del atributo scope no se reconoce.","scopeAttrValid_hint_cantTell":"Usar uno de los valores row, col, rowgroup o colgroup para el atributo scope.","tabindex_title":"tabindex no debería ser mayor que 0","tabindex_description":"Comprueba que los valores de tabindex sean 0 o negativos, no un número positivo.","tabindex_summary_cantTell":"Este elemento tiene un tabindex positivo, lo que sobrescribe el orden de tabulación natural.","tabindex_hint_cantTell":"Usar tabindex=\"0\" (o un valor negativo para eliminarlo del orden de tabulación) en lugar de un número positivo; corregir el orden del DOM si se necesita un orden de tabulación diferente.","emptyTableHeader_title":"Las celdas de encabezado de tabla no deben estar vacías","emptyTableHeader_description":"Comprueba que los elementos \u003cth> tengan contenido de texto visible; un encabezado nombrado únicamente mediante aria-label/aria-labelledby también se señala, ya que el soporte real de lectores de pantalla/navegadores para eso es inconsistente.","emptyTableHeader_summary_cantTell":"Esta celda de encabezado de tabla no tiene nombre accesible.","emptyTableHeader_hint_cantTell":"Agregar contenido de texto (o aria-label/aria-labelledby) a esta celda de encabezado, o eliminarla si no es necesaria.","emptyTableHeader_summary_cantTell_ariaOnly":"Esta celda de encabezado de tabla no tiene texto visible; su único nombre accesible proviene de aria-label/aria-labelledby, que se sabe que ciertas combinaciones reales de lector de pantalla/navegador (por ejemplo, NVDA+Firefox, iOS VoiceOver+Safari) ignoran en elementos \u003cth>.","emptyTableHeader_hint_cantTell_ariaOnly":"Agregar contenido de texto visible a esta celda de encabezado (además de, o en lugar de, aria-label/aria-labelledby); el texto visible es el único mecanismo de nombrado confirmado que funciona en los lectores de pantalla probados.","labelTitleOnly_title":"Los controles de formulario no deben usar title como única etiqueta","labelTitleOnly_description":"Comprueba que un control de formulario con un atributo title también tenga una etiqueta real (elemento label, aria-label o aria-labelledby).","labelTitleOnly_summary_cantTell":"Este control de formulario depende del atributo title como única etiqueta.","labelTitleOnly_hint_cantTell":"Agregar una \u003clabel> visible (o aria-label/aria-labelledby) además de, o en lugar de, el atributo title.","imageRedundantAlt_title":"El texto alt de la imagen no debe duplicar el texto visible adyacente","imageRedundantAlt_description":"Comprueba que el texto alt de un \u003cimg> no sea idéntico a otro texto visible ya presente en su elemento padre inmediato.","imageRedundantAlt_summary_cantTell":"El texto alt de esta imagen duplica otro texto visible justo al lado.","imageRedundantAlt_hint_cantTell":"Dejar el texto alt vacío (alt=\"\") si la imagen es puramente decorativa junto al texto, o eliminar la duplicación redundante.","tableDuplicateName_title":"El caption de la tabla no debe duplicar su atributo summary","tableDuplicateName_description":"Comprueba que el texto del \u003ccaption> de una \u003ctable> no sea idéntico a su atributo summary (obsoleto).","tableDuplicateName_summary_cantTell":"El caption de esta tabla duplica su atributo summary.","tableDuplicateName_hint_cantTell":"Eliminar el atributo summary redundante, o hacer que proporcione información diferente a la del caption.","metaViewportLarge_title":"La etiqueta meta viewport debería permitir el zoom hasta el 500%","metaViewportLarge_description":"Comprueba que \u003cmeta name=\"viewport\"> no establezca user-scalable=no ni maximum-scale por debajo de 5 (500%).","metaViewportLarge_summary_cantTell":"Esta etiqueta meta viewport restringe el zoom por debajo del objetivo recomendado del 500%.","metaViewportLarge_hint_cantTell":"Eliminar user-scalable=no y elevar maximum-scale a al menos 5 (500%) si es posible.","presentationRoleConflict_title":"El rol presentacional no debe entrar en conflicto con un atributo ARIA global ni con la capacidad de enfoque","presentationRoleConflict_description":"Comprueba que role=\"presentation\"/\"none\" (incluido el rol de presentación implícito de \u003cimg alt=\"\">) no se combine con un atributo ARIA global (aria-label, aria-hidden, aria-describedby, ...) ni con la capacidad de enfoque (tabindex/nativa).","presentationRoleConflict_summary_cantTell":"Este elemento con role=\"{{role}}\" también tiene una condición conflictiva ({{attrs}}), lo que restaura su rol implícito y anula la intención presentacional.","presentationRoleConflict_hint_cantTell":"Eliminar el/los atributo(s) de nombrado conflictivo(s) y/o la capacidad de enfoque (tabindex/nativa) si el elemento debe permanecer presentacional, o eliminar role=\"presentation\"/\"none\" si debe exponerse a las tecnologías de asistencia.","region_title":"El contenido de la página debería estar dentro de una región landmark","region_description":"Comprueba que el contenido bajo \u003cbody> esté contenido dentro de una región landmark.","region_summary_cantTell":"Este contenido no está contenido dentro de ninguna región landmark.","region_hint_cantTell":"Mover este contenido dentro de una región landmark (main, nav, aside, una section etiquetada, etc.).","skipLink_title":"El enlace de salto debe tener un destino resoluble y utilizable","skipLink_description":"Comprueba que el fragmento href de un enlace de \"saltar a...\" se resuelva en un elemento real y actualmente utilizable del documento.","skipLink_summary_cantTell":"El destino de este enlace de salto no existe.","skipLink_hint_cantTell":"Apuntar el href del enlace de salto a un id que exista en el documento, o agregar el elemento destino que falta.","skipLink_summary_unusableTarget_cantTell":"Este enlace de salto apunta a un destino que existe pero que actualmente no es utilizable.","skipLink_hint_unusableTarget_cantTell":"Apuntar este enlace de salto a un destino que esté expuesto y sea utilizable como destino de navegación.","autocompleteValid_title":"El atributo autocomplete debe tener un valor de autocompletado válido","autocompleteValid_description":"Comprueba que un atributo autocomplete no vacío sea \"on\"/\"off\" o una lista de tokens de detalle de autocompletado bien formada.","autocompleteValid_summary_fail":"Este valor del atributo autocomplete no es un valor de autocompletado válido.","autocompleteValid_hint_fail":"Usar \"on\"/\"off\", o una lista de tokens de autocompletado válida (por ejemplo, \"shipping street-address\", \"cc-number\").","htmlXmlLangMismatch_title":"lang y xml:lang no deben estar en desacuerdo","htmlXmlLangMismatch_description":"Comprueba que los atributos lang y xml:lang del elemento \u003chtml> declaren el mismo idioma principal, cuando ambos están presentes.","htmlXmlLangMismatch_summary_fail":"Los atributos lang (\"{{lang}}\") y xml:lang (\"{{xmlLang}}\") declaran idiomas diferentes.","htmlXmlLangMismatch_hint_fail":"Hacer que lang y xml:lang declaren el mismo idioma principal, o eliminar el atributo obsoleto xml:lang.","avoidInlineSpacing_title":"El estilo en línea no debe forzar el espaciado de texto por debajo del umbral WCAG","avoidInlineSpacing_description":"Comprueba que cuando el estilo en línea fuerza line-height, letter-spacing o word-spacing con !important, el valor ya cumple WCAG 1.4.12, por lo que al usuario no le queda nada que anular.","avoidInlineSpacing_summary_fail":"El estilo en línea de este elemento fuerza {{properties}} con !important, bloqueando las anulaciones de espaciado de texto del usuario.","avoidInlineSpacing_hint_fail":"Eliminar !important de line-height/letter-spacing/word-spacing en los estilos en línea para que los usuarios puedan anular el espaciado de texto.","metaRefreshNoExceptions_title":"La página no debe usar un meta refresh en absoluto (AAA)","metaRefreshNoExceptions_description":"Comprueba que \u003cmeta http-equiv=\"refresh\"> no esté presente en absoluto, independientemente del retraso; es la contraparte más estricta de nivel AAA de la comprobación de nivel A que solo se aplica a los retrasos positivos.","metaRefreshNoExceptions_summary_fail":"Esta página usa un meta refresh, que es un cambio de contexto automático no iniciado por el usuario.","metaRefreshNoExceptions_hint_fail":"Eliminar el meta refresh; activar la redirección/actualización solo en respuesta a una acción del usuario.","validLang_title":"El atributo lang del elemento debe ser sintácticamente válido","validLang_description":"Comprueba que cualquier elemento (distinto de la raíz \u003chtml>) con un atributo lang no vacío use una etiqueta de idioma sintácticamente válida.","validLang_summary_fail":"Este valor del atributo lang (\"{{value}}\") no es una etiqueta de idioma sintácticamente válida.","validLang_hint_fail":"Usar una etiqueta de idioma BCP47 válida (por ejemplo, \"fr\", \"es-MX\").","linkInTextBlock_title":"Los enlaces dentro de bloques de texto deben distinguirse del texto circundante sin depender únicamente del color","linkInTextBlock_description":"Comprueba que un enlace dentro de un bloque de texto se distinga visualmente del texto circundante mediante subrayado, una diferencia de grosor/estilo de fuente, o una diferencia de contraste de color suficiente (>=3:1); no solo por el color.","linkInTextBlock_summary_fail":"Este enlace dentro de un bloque de texto depende únicamente del color para distinguirse del texto circundante.","linkInTextBlock_hint_fail":"Agregar un subrayado, una diferencia de grosor/estilo de fuente, o aumentar el contraste de color entre el enlace y el texto circundante a al menos 3:1.","noAutoplayAudio_title":"El audio en reproducción automática debería proporcionar un mecanismo de pausa/detención o control de volumen","noAutoplayAudio_description":"Señala elementos \u003caudio>/\u003cvideo> que se reproducen automáticamente sin silenciar y sin un atributo de controles nativo, para su revisión manual frente a la excepción de 3 segundos del criterio de éxito 1.4.2 de WCAG.","noAutoplayAudio_summary_cantTell":"Este elemento reproduce audio automáticamente sin un mecanismo nativo de pausa/detención o control de volumen.","noAutoplayAudio_hint_cantTell":"Si este clip dura más de 3 segundos, agregar un atributo controls (o un mecanismo personalizado equivalente) para que los usuarios puedan pausarlo/detenerlo o controlar su volumen independientemente del volumen del sistema.","videoCaption_title":"El video pregrabado debería proporcionar una pista de subtítulos","videoCaption_description":"Señala elementos \u003cvideo> sin un hijo \u003ctrack kind=\"captions\"|\"subtitles\">, para su revisión manual sobre si el video tiene una pista de audio que necesita subtítulos.","videoCaption_summary_cantTell":"Este video no tiene ninguna pista de subtítulos (captions o subtitles).","videoCaption_hint_cantTell":"Si este video tiene una pista de audio que transmite información, agregar un \u003ctrack kind=\"captions\" src=\"...\"> con el contenido subtitulado.","scrollableRegionFocusable_title":"Las regiones desplazables sin contenido enfocable deberían ser enfocables por teclado","scrollableRegionFocusable_description":"Señala elementos cuyo CSS declara overflow:auto/scroll, que no contienen ningún descendiente enfocable, y que no son enfocables por teclado por sí mismos, para su revisión manual sobre si su contenido realmente desborda y necesita acceso de desplazamiento por teclado.","scrollableRegionFocusable_summary_cantTell":"Este elemento declara overflow:auto/scroll, no tiene ningún descendiente enfocable, y no es enfocable por teclado por sí mismo.","scrollableRegionFocusable_hint_cantTell":"Si el contenido de esta región realmente desborda, agregar tabindex=\"0\" (y una etiqueta adecuada) para que los usuarios de teclado puedan enfocarla y desplazarse con las teclas de flecha.","identicalLinksSamePurpose_title":"Los enlaces con el mismo nombre accesible deberían llevar al mismo destino","identicalLinksSamePurpose_description":"Señala grupos de enlaces que comparten el mismo nombre accesible pero resuelven a más de un destino distinto, para su revisión manual sobre si cumplen el mismo propósito.","identicalLinksSamePurpose_summary_cantTell":"Este enlace comparte un nombre accesible con otros enlaces de la página que llevan a un destino diferente.","identicalLinksSamePurpose_hint_cantTell":"Asegurarse de que los enlaces con el mismo texto cumplan el mismo propósito, o hacer que el texto del enlace sea lo bastante distintivo para describir cada destino.","ariaBrailleEquivalent_title":"aria-braillelabel/aria-brailleroledescription deben tener un equivalente no braille","ariaBrailleEquivalent_description":"Comprueba que los elementos que usan aria-braillelabel también tengan un nombre accesible normal, y que los elementos que usan aria-brailleroledescription también tengan aria-roledescription.","ariaBrailleEquivalent_summary_fail":"Este elemento tiene {{attr}} pero no {{requires}}, su equivalente no braille.","ariaBrailleEquivalent_hint_fail":"{{attr}} es un complemento específico para braille, no un reemplazo; proporcionar también {{requires}}.","ariaConditionalAttr_title":"aria-errormessage requiere que aria-invalid tenga un valor distinto de false","ariaConditionalAttr_description":"Comprueba que los elementos con aria-errormessage también tengan aria-invalid establecido en \"true\", \"grammar\" o \"spelling\"; de lo contrario, el mensaje de error se elimina del árbol de accesibilidad.","ariaConditionalAttr_summary_fail":"Este elemento tiene aria-errormessage pero aria-invalid falta o es \"false\", por lo que el mensaje de error no se expone.","ariaConditionalAttr_hint_fail":"Establecer aria-invalid en \"true\" (o \"grammar\"/\"spelling\") siempre que aria-errormessage deba exponerse a las tecnologías de asistencia.","ariaCheckedStateMismatch_title":"El aria-checked de una casilla/botón de opción nativo debe coincidir con su estado real","ariaCheckedStateMismatch_description":"Señala un \u003cinput type=\"checkbox\">/\u003cinput type=\"radio\"> nativo cuyo valor explícito de aria-checked no coincide con su estado real marcado/indeterminado, para su revisión manual.","ariaCheckedStateMismatch_summary_cantTell":"El valor de aria-checked de este elemento no coincide con su estado real marcado/indeterminado.","ariaCheckedStateMismatch_hint_cantTell":"Establecer aria-checked para que coincida con el estado real del elemento, o eliminarlo; una casilla/botón de opción nativo ya expone este estado sin necesidad de él.","cssOrientationLock_title":"El CSS no debe bloquear la página a una única orientación","cssOrientationLock_description":"Comprueba que ninguna regla @media (orientation: portrait|landscape) establezca un transform: rotate(...) en la página, una técnica conocida para anular la orientación del dispositivo.","cssOrientationLock_summary_fail":"Una media query \"{{mediaText}}\" rota \"{{selectorText}}\", bloqueando la página a una sola orientación.","cssOrientationLock_summary_fail_unknownSelector":"Una consulta de medios \"{{mediaText}}\" rota un elemento sin selector legible y bloquea la página en una sola orientación.","cssOrientationLock_hint_fail":"Eliminar la transformación rotate() de la media query de orientación; dejar que la página responda de forma natural a la orientación del dispositivo en lugar de forzar una rotación visual.","ariaText_title":"Los elementos con role=\"text\" no deberían tener descendientes enfocables","ariaText_description":"Comprueba que los elementos con role=\"text\" no contengan ningún descendiente enfocable (enlace, botón, control de formulario, tabindex, iframe o contenteditable).","ariaText_summary_cantTell":"Este elemento con role=\"text\" contiene un descendiente enfocable.","ariaText_hint_cantTell":"Eliminar role=\"text\" (o eliminar el descendiente enfocable); una región de \"texto sin formato\" no debería contener contenido enfocable.","focusOrderSemantics_title":"Los elementos agregados al orden de tabulación deberían tener semántica interactiva","focusOrderSemantics_description":"Señala elementos con tabindex >= 0 cuyo rol explícito es un rol estructural/documental no interactivo (por ejemplo, heading, list, region, presentation), para su revisión manual.","focusOrderSemantics_summary_cantTell":"Este elemento está en el orden de tabulación (tabindex=\"{{tabindex}}\") pero tiene un rol no interactivo (\"{{role}}\").","focusOrderSemantics_hint_cantTell":"Eliminar tabindex si este elemento no está pensado para ser interactivo, o usar un rol interactivo que coincida con su comportamiento real.","pAsHeading_title":"Un \u003cp> con estilo de encabezado probablemente debería ser un encabezado real","pAsHeading_description":"Señala elementos \u003cp> cortos cuyo texto completo está en negrita y se renderiza a >=18px, para su revisión manual sobre si debería usarse un elemento de encabezado real en su lugar.","pAsHeading_summary_cantTell":"Este párrafo está completamente en negrita y se renderiza con un tamaño similar al de un encabezado.","pAsHeading_hint_cantTell":"Si este texto introduce una nueva sección, usar un elemento de encabezado real (\u003ch1>-\u003ch6> o role=\"heading\") en lugar de dar a un párrafo el estilo de un encabezado.","tableFakeCaption_title":"La primera fila de una tabla no debería sustituir a un \u003ccaption> real","tableFakeCaption_description":"Señala tablas sin \u003ccaption> cuya primera fila tiene una única celda no vacía mientras que las demás filas tienen varias celdas, para su revisión manual sobre si esa celda actúa como un caption falso.","tableFakeCaption_summary_cantTell":"Esta tabla no tiene \u003ccaption>, pero su primera fila es una única celda situada sobre filas con varias celdas; puede estar actuando como un caption falso.","tableFakeCaption_hint_cantTell":"Si esta celda está pensada para describir la tabla, usar un elemento \u003ccaption> real en lugar de una única celda en la primera fila.","tdHasHeader_title":"Las celdas de datos en tablas grandes deben tener un encabezado asociado","tdHasHeader_description":"Comprueba que cada \u003ctd> en una tabla grande y simple (sin colspan/rowspan) tenga un encabezado asociado, ya sea mediante un atributo headers, un \u003cth> de columna implícito por encima de ella, o un \u003cth> de fila implícito a su izquierda.","tdHasHeader_summary_fail":"Esta celda de datos no tiene ningún encabezado asociado (sin atributo headers, sin \u003cth> de columna por encima, sin \u003cth> de fila a la izquierda).","tdHasHeader_hint_fail":"Agregar un atributo headers que referencie el/los id de \u003cth> correspondiente(s), o reestructurar la tabla para que esta celda tenga un encabezado de fila/columna implícito.","mouseOnlyEventHandlers_title":"Los controladores de eventos en línea exclusivos de puntero deberían tener un equivalente alcanzable por teclado","mouseOnlyEventHandlers_description":"Señala elementos con un controlador de eventos en línea exclusivo de puntero (onmouseover, onmouseout, onmousedown, onmouseup, ondblclick, onmousemove, onmouseenter, onmouseleave) y sin un controlador equivalente alcanzable por teclado (onkeydown/onkeyup/onkeypress/onfocus/onblur), para su revisión manual.","mouseOnlyEventHandlers_summary_cantTell":"Este elemento tiene {{attrs}} pero ningún controlador equivalente alcanzable por teclado.","mouseOnlyEventHandlers_hint_cantTell":"Agregar onkeydown/onkeyup/onkeypress (o onfocus/onblur para comportamiento activado por hover) para que esta funcionalidad también sea alcanzable por teclado.","linkNameQuality_title":"El texto del enlace debe ser descriptivo, no genérico","linkNameQuality_description":"Señala enlaces cuyo nombre accesible completo es una frase no descriptiva conocida (por ejemplo, \"haz clic aquí\", \"leer más\", \"más\"), para su revisión manual sobre si el propósito queda claro sin contexto adicional.","linkNameQuality_summary_cantTell":"El nombre accesible de este enlace (\"{{name}}\") es una frase genérica y no descriptiva.","linkNameQuality_hint_cantTell":"Hacer que el propio texto del enlace describa su destino/propósito (por ejemplo, \"Descargar la guía de precios 2026\" en lugar de \"Descargar\"), o confirmar que el contexto circundante ya deja claro el propósito."});
|
|
22
|
+
})(typeof window !== 'undefined' ? window : this);
|