de.json 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. {
  2. "lang": "de",
  3. "rules": {
  4. "accesskeys": {
  5. "description": "Stellt sicher, dass die Werte der accesskey-Attribute einzigartig sind.",
  6. "help": "Der Wert des accesskey-Attributes muss einzigartig sein."
  7. },
  8. "area-alt": {
  9. "description": "Stellt sicher, dass <area>-Elemente Alternativtexte besitzen.",
  10. "help": "Aktive <area>-Elemente müssen einen Alternativtext besitzen."
  11. },
  12. "aria-allowed-attr": {
  13. "description": "Stellt sicher, dass ARIA-Attribute für die vergebene Rolle eines Elements erlaubt sind.",
  14. "help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
  15. },
  16. "aria-allowed-role": {
  17. "description": "Stellt sicher, dass der Wert des role-Attributes für dieses Element geeignet ist.",
  18. "help": "Der Wert des role-Attributes muss für dieses Element geeignet sein."
  19. },
  20. "aria-command-name": {
  21. "description": "Stellt sicher, dass jeder ARIA-button, -link und jedes -menuitem einen zugänglichen Namen (accessible name) hat.",
  22. "help": "ARIA Befehle müssen einen zugänglichen Namen (accessible name) besitzen."
  23. },
  24. "aria-dialog-name": {
  25. "description": "Stellt sicher, dass jeder ARIA-dialog und -alertdialog Knoten einen zugänglichen Namen (accessible name) hat.",
  26. "help": "ARIA-dialog und -alertdialog Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
  27. },
  28. "aria-hidden-body": {
  29. "description": "Stellt sicher, dass aria-hidden='true' nicht am <body>-Element des Dokumentes verwendet wird.",
  30. "help": "Aria-hidden='true' darf nicht für den <body> des Dokumentes verwendet werden."
  31. },
  32. "aria-hidden-focus": {
  33. "description": "Stellt sicher, dass ARIA-hidden Elemente keine fokussierbaren Elemente beinhalten.",
  34. "help": "ARIA-hidden Elemente dürfen keine fokussierbaren Elemente beinhalten."
  35. },
  36. "aria-input-field-name": {
  37. "description": "Stellt sicher, dass jeder ARIA-input einen zugänglichen Namen (accessible name) besitzt.",
  38. "help": "ARIA-inputs müssen einen zugänglichen Namen (accessible name) besitzen."
  39. },
  40. "aria-meter-name": {
  41. "description": "Stellt sicher, dass jeder ARIA-meter Knoten einen zugänglichen Namen (accessible name) besitzt.",
  42. "help": "ARIA-meter Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
  43. },
  44. "aria-progressbar-name": {
  45. "description": "Stellt sicher, dass jeder ARIA-progressbar Knoten einen zugänglichen Namen (accessible name) besitzt.",
  46. "help": "ARIA-progressbar Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
  47. },
  48. "aria-required-attr": {
  49. "description": "Stellt sicher, dass Elemente mit ARIA-Rollen alle erforderlichen ARIA-Attribute besitzen.",
  50. "help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
  51. },
  52. "aria-required-children": {
  53. "description": "Stellt sicher, dass Elemente mit einer ARIA-Rolle, welche bestimmte untergeordnete Rollen voraussetzten auch diese enthalten.",
  54. "help": "Bestimmte ARIA-Rollen müssen spezifische, untergeordnete Kind-Rollen enthalten."
  55. },
  56. "aria-required-parent": {
  57. "description": "Stellt sicher, dass Elemente mit ARIA-Rollen, welche übergeordnete Rollen voraussetzen auch in diesen enthalten sind.",
  58. "help": "Bestimmte ARIA-Rollen müssen in spezifischen, übergeordneten Eltern-Rollen enthalten sein."
  59. },
  60. "aria-roledescription": {
  61. "description": "Stellt sicher, dass ARIA-roledescription nur im Zusammenhang mit einer im- oder expliziten Rolle verwendet wird.",
  62. "help": "Nutze aria-roledescription für Elemente mit einer semantischen Rolle."
  63. },
  64. "aria-roles": {
  65. "description": "Stellt sicher, dass alle Elemente mit einer ARIA-Rolle auch einen gültigen Wert verwenden.",
  66. "help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
  67. },
  68. "aria-toggle-field-name": {
  69. "description": "Stellt sicher, dass jedes ARIA-toggle-Feld ein zugänglichen Namen (accessible name) besitzt.",
  70. "help": "ARIA-toggle-Felder benötigen einen zugänglichen Namen (accessible name)."
  71. },
  72. "aria-tooltip-name": {
  73. "description": "Stellt sicher, dass jeder ARIA-tooltip Knoten einen zugänglichen Namen (accessible name) besitzt.",
  74. "help": "ARIA-tooltip-Knoten benötigen einen zugänglichen Namen (accessible name)."
  75. },
  76. "aria-treeitem-name": {
  77. "description": "Stellt sicher, dass jeder ARIA-treeitem Knoten einen zugänglichen Namen (accessible name) besitzt.",
  78. "help": "ARIA-treeitem-Knoten benötigen einen zugänglichen Namen (accessible name)."
  79. },
  80. "aria-valid-attr-value": {
  81. "description": "Stellt sicher, dass alle ARIA-Attribute gültige Werte verwenden.",
  82. "help": "Verwendete ARIA-Attribute müssen gültigen Werten entsprechen."
  83. },
  84. "aria-valid-attr": {
  85. "description": "Stellt sicher, dass Attribute, welche mit aria- beginnen auch valide ARIA-Attribute sind.",
  86. "help": "Verwendete ARIA-Attribute müssen gültigen Namen entsprechen."
  87. },
  88. "audio-caption": {
  89. "description": "Stellt sicher, dass <audio>-Elemente Untertitel besitzen.",
  90. "help": "<audio>-Elemente müssen eine Untertitelung (captions track) besitzen."
  91. },
  92. "autocomplete-valid": {
  93. "description": "Stellt sicher, dass das autocomplete-Attribut korrekt ist und für das form-Feld geeignet ist.",
  94. "help": "autocomplete-Attribute müssen korrekt genutzt werden."
  95. },
  96. "avoid-inline-spacing": {
  97. "description": "Stellt sicher, dass der Zeichenabstand durch benutzerdefinierte Stylesheets angepasst werden kann.",
  98. "help": "Zeichenabstände müssen durch benutzerdefinierte Stylesheets anpassbar sein."
  99. },
  100. "blink": {
  101. "description": "Stellt sicher, dass keine <blink>-Elemente verwendet werden.",
  102. "help": "<blink>-Elemente sind veraltet und dürfen nicht verwendet werden."
  103. },
  104. "button-name": {
  105. "description": "Stellt sicher, dass Schaltflächen wahrnehmbaren Text enthalten.",
  106. "help": "Schaltflächen müssen wahrnehmbaren Text enthalten."
  107. },
  108. "bypass": {
  109. "description": "Stellt sicher, dass jede Seite mindestens ein Mittel bereitstellt, welches dem Nutzer erlaubt direkt zum Inhalt der Seite zu springen.",
  110. "help": "Wiederholende Blöcke müssen vom Nutzer mit Hilfe von der Seite bereitgestellten Mitteln übersprungen werden können."
  111. },
  112. "color-contrast": {
  113. "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
  114. "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
  115. },
  116. "color-contrast-enhanced": {
  117. "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AAA ausgewiesenen Kontrastgrenzwerten entspricht.",
  118. "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
  119. },
  120. "css-orientation-lock": {
  121. "description": "Stellt sicher, dass der Inhalt nicht nur auf einer sondern auf allen spezifischen Bildschirmausrichtungen angezeigt werden kann.",
  122. "help": "CSS Media Queries dürfen nicht genutzt werden um die Bildschirmausrichtung zu sperren."
  123. },
  124. "definition-list": {
  125. "description": "Stellt sicher, dass <dl>-Elemente ordnungsgemäß strukturiert sind.",
  126. "help": "<dl>-Elemente dürfen unmittelbar nur korrekt verschachtelte <dt>- und <dd>-Gruppen, <script>- oder <template>-Elemente enthalten."
  127. },
  128. "dlitem": {
  129. "description": "Stellt sicher, dass <dt> und <dd>-Elemente in einem <dl>-Element enthalten sind.",
  130. "help": "<dt>- und <dd>-Elemente müssen in einem <dl>-Element enthalten sein."
  131. },
  132. "document-title": {
  133. "description": "Stellt sicher, dass jedes HTML-Dokument ein nichtleeres <title>-Element besitzt.",
  134. "help": "Dokumente müssen ein <title>-Element besitzen, um die Navigation zu erleichtern."
  135. },
  136. "duplicate-id-active": {
  137. "description": "Stellt sicher, dass jeder Wert des ID-Attributes von aktiven Elemente einzigartig ist.",
  138. "help": "IDs von aktiven Elementen müssen einzigartig sein."
  139. },
  140. "duplicate-id-aria": {
  141. "description": "Stellt sicher, dass jeder Wert des ID-Attributes, welcher in ARIA und labels genutzt wird einzigartig ist.",
  142. "help": "IDs, welche in ARIA und Lables genutzt werden, müssen einzigartig sein."
  143. },
  144. "duplicate-id": {
  145. "description": "Stellt sicher, dass der Wert eines id-Attributes einzigartig ist.",
  146. "help": "Der Wert des id-Attributes muss einzigartig sein."
  147. },
  148. "empty-heading": {
  149. "description": "Stellt sicher, dass Überschriften einen wahrnehmbaren Text beinhalten.",
  150. "help": "Überschriften dürfen nichtleer sein."
  151. },
  152. "focus-order-semantics": {
  153. "description": "Stellt sicher, dass Elemente in der Fokusreihenfolge eine geeignete Rolle besitzen.",
  154. "help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
  155. },
  156. "form-field-multiple-labels": {
  157. "description": "Stellt sicher, dass ein form-Feld nur ein label-Element besitzt.",
  158. "help": "form-Felder sollten nur ein label-Element besitzen."
  159. },
  160. "frame-tested": {
  161. "description": "Stellt sicher, dass <iframe> und <frame>-Elemente das axe-core Script beinhalten.",
  162. "help": "Frames müssen mit axe-core getestet werden."
  163. },
  164. "frame-title-unique": {
  165. "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein einzigartiges title-Attribut besitzen.",
  166. "help": "Frames müssen ein einzigartiges title-Attribut besitzen."
  167. },
  168. "frame-title": {
  169. "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein nichtleeres title-Attribut besitzen.",
  170. "help": "Frames müssen ein nichtleeres title-Attribut besitzen."
  171. },
  172. "heading-order": {
  173. "description": "Stellt sicher, dass Überschriften in der semantisch korrekten Reihenfolge sind.",
  174. "help": "Überschriftenebenen sollten nur jeweils um eins steigen."
  175. },
  176. "hidden-content": {
  177. "description": "Informiert den Nutzer über versteckten Inhalt.",
  178. "help": "Versteckter Inhalt auf der Seite konnte nicht analysiert werden."
  179. },
  180. "html-has-lang": {
  181. "description": "Stellt sicher, dass jedes HTML Dokument ein lang-Attribut besitzt.",
  182. "help": "Das <html>-Element muss ein lang-Attribut besitzen."
  183. },
  184. "html-lang-valid": {
  185. "description": "Stellt sicher, dass das lang-Attribut des <html>-Elements einen validen Wert besitzt.",
  186. "help": "Das <html>-Element muss einen gültigen Attributwert für das lang-Attribut besitzen."
  187. },
  188. "html-xml-lang-mismatch": {
  189. "description": "Stellt sicher, dass HTML Elemente mit validen lang und xml:lang Attributen dieselbe Angabe über die Sprache machen.",
  190. "help": "HTML Elemente mit lang und xml:lang Attributen müssen dieselbe Sprache ausweisen."
  191. },
  192. "identical-links-same-purpose": {
  193. "description": "Stellt sicher, dass Links mit dem selben zugänglichen Namen (accessible name) denselben Zweck folgen.",
  194. "help": "Links mit dem selben zugänglichen Namen (accessible name) verfolgen denselben Zweck."
  195. },
  196. "image-alt": {
  197. "description": "Stellt sicher, dass <img>-Elemente einen Alternativtext oder eine ARIA-Rolle mit dem Wert none oder presentation besitzen.",
  198. "help": "Abbildungen müssen einen Alternativtext besitzen."
  199. },
  200. "image-redundant-alt": {
  201. "description": "Stellt sicher, dass Alternativtexte von Bildern nicht als Text wiederholt werden.",
  202. "help": "Der Alternativtext von Bildern sollte nicht als Text wiederholt werden."
  203. },
  204. "input-button-name": {
  205. "description": "Stellt sicher, dass Eingabeschaltflächen sichtbaren Text beinhalten.",
  206. "help": "Eingabeschaltflächen müssen sichtbaren Text beinhalten."
  207. },
  208. "input-image-alt": {
  209. "description": "Stellt sicher, dass <input type=\"image\">-Elemente einen Alternativtext besitzen.",
  210. "help": "<input type=\"image\">-Elemente müssen einen Alternativtext besitzen."
  211. },
  212. "label-content-name-mismatch": {
  213. "description": "Stellt sicher, dass Elemente, die durch ihren Inhalt beschrieben sind, auch ihren sichtbaren Text als Teil des zugänglichen Namens (accessible name) haben.",
  214. "help": "Elemente müssen ihren sichtbaren Text auch als Teil des zugänglichen Namens (accessible name) haben."
  215. },
  216. "label-title-only": {
  217. "description": "Stellt sicher, dass jedes <form>-Element nicht ausschließlich durch ein title oder aria-describedby-Attribut beschrieben sind.",
  218. "help": "<form>-Elemente sollten eine sichtbare Beschriftung haben."
  219. },
  220. "label": {
  221. "description": "Stellt sicher, dass jedes <form>-Element über eine Beschriftung verfügt.",
  222. "help": "<form>-Elemente müssen eine Beschriftung haben."
  223. },
  224. "landmark-banner-is-top-level": {
  225. "description": "Stellt sicher, dass die banner landmark sich auf der obersten Ebene befindet.",
  226. "help": "Banner landmark muss sich auf der obersten Ebene befinden."
  227. },
  228. "landmark-complementary-is-top-level": {
  229. "description": "Stellt sicher, dass die ergänzende landmark oder aside sich auf dem höchsten Level befindet.",
  230. "help": "Das aside-Elemente darf sich nicht in einer anderen landmark befinden."
  231. },
  232. "landmark-contentinfo-is-top-level": {
  233. "description": "Stellt sicher, dass die contentinfo landmark sich auf der obersten Ebene befindet.",
  234. "help": "Contentinfo landmark muss sich auf der obersten Ebene befinden."
  235. },
  236. "landmark-main-is-top-level": {
  237. "description": "Stellt sicher, dass die main landmark sich auf der obersten Ebene befindet.",
  238. "help": "Main landmark ist nicht auf der obersten Ebene."
  239. },
  240. "landmark-no-duplicate-banner": {
  241. "description": "Stellt sicher, dass das Dokument höchstens eine banner landmark besitzt.",
  242. "help": "Das Dokument sollte höchstens eine banner landmark enthalten."
  243. },
  244. "landmark-no-duplicate-contentinfo": {
  245. "description": "Stellt sicher, dass das Dokument höchstens eine contentinfo landmark besitzt.",
  246. "help": "Das Dokument sollte höchstens eine contentinfo landmark enthalten."
  247. },
  248. "landmark-no-duplicate-main": {
  249. "description": "Stellt sicher, dass das Dokument höchstens eine main landmark besitzt.",
  250. "help": "Das Dokument sollte nur eine main landmark besitzen."
  251. },
  252. "landmark-one-main": {
  253. "description": "Stellt sicher, dass das Dokument eine main landmark besitzt.",
  254. "help": "Seite muss eine main landmark enthalten."
  255. },
  256. "landmark-unique": {
  257. "description": "Stellt sicher, dass landmarks einzigartig sind.",
  258. "help": "Landmarks müssen eine einzigartige role oder role/label/title Kombination (bzw. zugänglicher Name / accessible name) besitzen."
  259. },
  260. "link-in-text-block": {
  261. "description": "Stellt sicher, dass Links vom umgebenden Text nicht allein durch die Farbe unterschieden werden können.",
  262. "help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
  263. },
  264. "link-name": {
  265. "description": "Stellt sicher, dass Links wahrnehmbaren Text enthalten.",
  266. "help": "Links müssen wahrnehmbaren Text enthalten."
  267. },
  268. "list": {
  269. "description": "Stellt sicher, dass Listen korrekt strukturiert sind.",
  270. "help": "<ul>- und <ol>-Elemente dürfen unmittelbar nur <li>-, <script>- oder <template>-Elemente enthalten."
  271. },
  272. "listitem": {
  273. "description": "Stellt sicher, dass <li>-Elemente semantisch korrekt verwendet werden.",
  274. "help": "<li>-Elemente müssen in einem <ul>- oder <ol>-Element enthalten sein."
  275. },
  276. "marquee": {
  277. "description": "Stellt sicher, dass <marquee>-Elemente nicht verwendet werden.",
  278. "help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
  279. },
  280. "meta-refresh": {
  281. "description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht verwendet werden.",
  282. "help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
  283. },
  284. "meta-viewport-large": {
  285. "description": "Stellt sicher, dass <meta name=\"viewport\"> nicht verhindert, dass ein signifikanter Zoom verwendet werden kann.",
  286. "help": "Benutzer sollten in der Lage sein, den Text um bis zu 500% vergrößern und skalieren zu können."
  287. },
  288. "meta-viewport": {
  289. "description": "Stellt sicher, dass <meta name=\"viewport\"> Textskalierung und -zoom nicht verhindert werden.",
  290. "help": "Zoomen und Skalieren darf nicht deaktiviert werden."
  291. },
  292. "no-autoplay-audio": {
  293. "description": "Stellt sicher, dass <video> oder <audio> Elemente keine Töne automatisch abspielen für mehr als 3 Sekunden (autoplay) ohne eine Möglichkeit dies zu stoppen.",
  294. "help": "<video> oder <audio> Elemente geben keine Töne automatisch aus."
  295. },
  296. "object-alt": {
  297. "description": "Stellt sicher, dass <object>-Elemente einen Alternativtext besitzen.",
  298. "help": "<object>-Elemente müssen einen Alternativtext besitzen."
  299. },
  300. "p-as-heading": {
  301. "description": "Stellt sicher, dass <p>-Elemente nicht dafür verwendet werden um Überschriften zu formatieren.",
  302. "help": "Die Schriftschnitte bold und italic sowie die Schriftgröße dürfen nicht verwendet werden, um <p>-Elemente wie Überschriften zu formatieren."
  303. },
  304. "page-has-heading-one": {
  305. "description": "Stellt sicher, dass die Seite oder zumindest eins der frame-Elemente eine Überschrift der ersten Ebene enthalten.",
  306. "help": "Die Seite muss eine Überschrift der ersten Ebene enthalten."
  307. },
  308. "presentation-role-conflict": {
  309. "description": "Markiert Elemente welche eine Rolle besitzen, die none oder presentation ist und die eine Rollenauflösung benötigen.",
  310. "help": "Elemente mit Rolle none oder presentation dürfen mit anderen Rollen nicht in Konflikt stehen."
  311. },
  312. "region": {
  313. "description": "Stellt sicher, dass jeglicher Inhalt in einer landmark region enthalten ist.",
  314. "help": "Inhalte sollten in einer landmark region enthalten sein."
  315. },
  316. "role-img-alt": {
  317. "description": "Stellt sicher, dass [role='img'] Elemente einen Alternativ Text besitzen.",
  318. "help": "[role='img'] Elemente haben ein Alternativtext."
  319. },
  320. "scope-attr-valid": {
  321. "description": "Stellt sicher, dass das scope-Attribut bei Tabellen korrekt verwendet wird.",
  322. "help": "Das scope-Attribut sollte korrekt verwendet werden."
  323. },
  324. "scrollable-region-focusable": {
  325. "description": "Elemente, welche scrollbaren Inhalt besitzen sollten durch die Tastatur erreichbar und bedienbar sein.",
  326. "help": "Scrollbare Regionen müssen per Tastatur erreichbar sein."
  327. },
  328. "select-name": {
  329. "description": "Stellt sicher, dass <select> Elemente einen zugänglichen Namen (accessible name) besitzen.",
  330. "help": "<select> Elemente müssen einen zugänglichen Namen (accessible name) besitzen."
  331. },
  332. "server-side-image-map": {
  333. "description": "Stellt sicher, dass serverseitige Imagemaps nicht verwendet werden.",
  334. "help": "Serverseitige Imagemaps dürfen nicht verwendet werden."
  335. },
  336. "skip-link": {
  337. "description": "Stellt sicher, dass alle Skip-Links ein fokussierbares Ziel enthalten.",
  338. "help": "Das Ziel eines Skip-Links sollte existieren und fokussierbar sein."
  339. },
  340. "svg-img-alt": {
  341. "description": "Stellt sicher, dass <svg> Elemente mit einer img, graphics-document oder graphics-symbol Rolle einen zugänglichen Namen (accessible name) besitzen.",
  342. "help": "<svg> Elemente mit einer img Rolle sollten einen Alternativtext besitzen."
  343. },
  344. "tabindex": {
  345. "description": "Stellt sicher, dass keine tabindex-Attribute mit einem Wert größer als null verwendet werden.",
  346. "help": "Elemente sollten keinen tabindex besitzen, der größer als null ist."
  347. },
  348. "table-duplicate-name": {
  349. "description": "Stellt sicher, dass Tabellen nicht den gleichen Text im <caption>-Element wie im summary-Attribut enthalten.",
  350. "help": "Das <caption>-Element sollte nicht den gleichen Text wie das summary-Attribut enthalten."
  351. },
  352. "table-fake-caption": {
  353. "description": "Stellt sicher, dass Tabellen mit einer Beschriftung auch das <caption>-Element verwenden.",
  354. "help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
  355. },
  356. "td-has-header": {
  357. "description": "Stellt sicher, dass jede nichtleere Zelle einer Tabelle ein oder mehrere Tabellenköpfe haben.",
  358. "help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nichtleeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
  359. },
  360. "td-headers-attr": {
  361. "description": "Stellt sicher, dass jede Zelle in einer Tabelle, welche das headers-Attribut verwendet, sich nur auf andere Zellen derselben Tabelle beziehen.",
  362. "help": "Innerhalb eines <table>-Elementes dürfen sich Zellen, die das headers-Attribut verwenden, nur auf andere Zellen derselben Tabelle beziehen."
  363. },
  364. "th-has-data-cells": {
  365. "description": "Stellt sicher, dass jeder Tabellenkopf in einer Datentabelle sich auf Datenzellen bezieht.",
  366. "help": "Alle <th>-Elemente sowie Elemente mit role=columnheader/rowheader müssen Datenzellen haben, die sie beschreiben."
  367. },
  368. "valid-lang": {
  369. "description": "Stellt sicher, dass lang-Attribute gültige Werte haben.",
  370. "help": "Das lang-Attribut muss einen gültigen Wert haben."
  371. },
  372. "video-caption": {
  373. "description": "Stellt sicher, dass <video>-Elemente Untertitel besitzen.",
  374. "help": "<video>-Elemente müssen Untertitel besitzen."
  375. }
  376. },
  377. "checks": {
  378. "abstractrole": {
  379. "pass": "abstract Rolle wird nicht verwendet.",
  380. "fail": {
  381. "singular": "abstract Rolle kann nicht so verwendet werden: ${data.values}",
  382. "plural": "abstract Rollen können nicht so verwendet werden: ${data.values}"
  383. }
  384. },
  385. "aria-allowed-attr": {
  386. "pass": "ARIA-Attribute werden korrekt für die definierte Rolle verwendet.",
  387. "fail": {
  388. "singular": "Folgendes ARIA Attribut ist nicht erlaubt: ${data.values}",
  389. "plural": "Folgende ARIA Attribute sind nicht erlaubt: ${data.values}"
  390. }
  391. },
  392. "aria-allowed-role": {
  393. "pass": "ARIA Rolle ist für dieses Element erlaubt.",
  394. "fail": {
  395. "singular": "ARIA Rolle ${data.values} ist nicht für dieses Element erlaubt.",
  396. "plural": "ARIA Rollen ${data.values} sind nicht für dieses Element erlaubt."
  397. },
  398. "incomplete": {
  399. "singular": "ARIA Rolle ${data.values} muss entfernt werden, wenn das Element sichtbar wird, da es nicht für dieses Element erlaubt ist.",
  400. "plural": "ARIA Rollen ${data.values} müssen entfernt werden, wenn das Element sichtbar wird, da sie nicht für dieses Element erlaubt sind."
  401. }
  402. },
  403. "aria-errormessage": {
  404. "pass": "aria-errormessage Attribut existiert und referenziert Elemente, die sichtbar für Screen Reader sind, welche die entsprechende Technologie unterstützen.",
  405. "fail": {
  406. "singular": "aria-errormessage Wert `${data.values}` benötigt eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
  407. "plural": "aria-errormessage Werte `${data.values}` benötigen eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.)."
  408. },
  409. "incomplete": {
  410. "singular": "Stellt sicher, dass aria-errormessage Wert `${data.values}` zu einem existierendem Element verweist.",
  411. "plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen."
  412. }
  413. },
  414. "aria-hidden-body": {
  415. "pass": "Kein aria-hidden Attribut ist im <body>-Element des Dokuments vorhanden.",
  416. "fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
  417. },
  418. "aria-required-attr": {
  419. "pass": "Alle benötigten ARIA-Attribute sind vorhanden.",
  420. "fail": {
  421. "singular": "Benötigtes ARIA Attribut nicht vorhanden: ${data.values}",
  422. "plural": "Benötigte ARIA Attribute nicht vorhanden: ${data.values}"
  423. }
  424. },
  425. "aria-required-children": {
  426. "pass": "Alle benötigten ARIA Kinder sind vorhanden.",
  427. "fail": {
  428. "singular": "Benötigte ARIA Kindrolle nicht vorhanden: ${data.values}",
  429. "plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}"
  430. },
  431. "incomplete": {
  432. "singular": "Entsprechende ARIA Kindrolle muss hinzugefügt werden: ${data.values}",
  433. "plural": "Entsprechende ARIA Kindrollen müssen hinzugefügt werden: ${data.values}"
  434. }
  435. },
  436. "aria-required-parent": {
  437. "pass": "Alle ARIA Elternrollen sind vorhanden.",
  438. "fail": {
  439. "singular": "Benötigte ARIA Elternrolle nicht vorhanden: ${data.values}",
  440. "plural": "Benötigte ARIA Elternrollen nicht vorhanden: ${data.values}"
  441. }
  442. },
  443. "aria-roledescription": {
  444. "pass": "aria-roledescription mit einer unterstützten semantischen Rolle verwendet.",
  445. "incomplete": "Es sollte überprüft werden ob aria-roledescription von einem Screenreader vorgelesen wird.",
  446. "fail": "Das Element muss mit einer Rolle, welche aria-roledescription unterstützt, versehen werden."
  447. },
  448. "aria-unsupported-attr": {
  449. "pass": "ARIA Attribut wird unterstützt",
  450. "fail": "ARIA Attribut ist nicht wirklich in Screenreadern und anderen assistiven Technologien unterstützt: ${data.values}"
  451. },
  452. "aria-valid-attr-value": {
  453. "pass": "ARIA Attributwerte sind gültig.",
  454. "fail": {
  455. "singular": "Ungültiger Wert des ARIA Attributes ${data.values}",
  456. "plural": "Ungültige Werte der ARIA Attribute: ${data.values}"
  457. },
  458. "incomplete": {
  459. "noId": "Verwendete ID im ARIA Attribut existiert nicht auf der Seite: ${data.needsReview}",
  460. "ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}"
  461. }
  462. },
  463. "aria-valid-attr": {
  464. "pass": "Alle ARIA Attributnamen sind gültig.",
  465. "fail": {
  466. "singular": "Ungültige ARIA Attribut Name: ${data.values}",
  467. "plural": "Ungültige ARIA Attribut Namen: ${data.values}"
  468. }
  469. },
  470. "fallbackrole": {
  471. "pass": "Nur ein Wert für role genutzt.",
  472. "fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden."
  473. },
  474. "has-global-aria-attribute": {
  475. "pass": {
  476. "singular": "Element hat globales ARIA Attribut: ${data.values}",
  477. "plural": "Element hat globale ARIA Attribute: ${data.values}"
  478. },
  479. "fail": "Das Element hat keine globalen ARIA Attribute."
  480. },
  481. "has-widget-role": {
  482. "pass": "Element hat eine widget-Rolle.",
  483. "fail": "Das Element besitzt keine widget-Rolle."
  484. },
  485. "invalidrole": {
  486. "pass": "ARIA Rolle ist gültig.",
  487. "fail": {
  488. "singular": "Folgende Rolle muss eine von den validen ARIA Rollen sein: ${data.values}",
  489. "plural": "Folgende Rollen müssen jeweils eine von den validen ARIA Rollen sein: ${data.values}"
  490. }
  491. },
  492. "is-element-focusable": {
  493. "pass": "Element ist fokussierbar.",
  494. "fail": "Element ist nicht fokussierbar."
  495. },
  496. "no-implicit-explicit-label": {
  497. "pass": "Kein Unterschied zwischen dem <label> und dem zugänglichen Namen (accessible name).",
  498. "incomplete": "Überprüfe, dass das <label> nicht Teil des ARIA ${data} Feldnamens ist."
  499. },
  500. "unsupportedrole": {
  501. "pass": "ARIA Rolle wird unterstützt.",
  502. "fail": "Folgende Rollen werden nicht wirklich in Screenreadern und assistiven Technologien unterstützt: ${data.values}"
  503. },
  504. "valid-scrollable-semantics": {
  505. "pass": "Das Element hat eine gültige Semantik für ein Element in der Fokusreihenfolge.",
  506. "fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
  507. },
  508. "color-contrast": {
  509. "pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
  510. "fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
  511. "incomplete": {
  512. "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
  513. "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
  514. "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
  515. "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
  516. "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
  517. "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
  518. "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
  519. "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
  520. "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
  521. "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
  522. "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
  523. "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
  524. "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
  525. }
  526. },
  527. "color-contrast-enhanced": {
  528. "pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
  529. "fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
  530. "incomplete": {
  531. "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
  532. "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
  533. "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
  534. "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
  535. "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
  536. "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
  537. "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
  538. "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
  539. "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
  540. "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
  541. "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
  542. "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
  543. "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
  544. }
  545. },
  546. "link-in-text-block": {
  547. "pass": "Links können vom umgebenenden Text auf unterschiedliche Art und Weise unterschieden werden.",
  548. "fail": "Links können (abgesehen von einer farblichen Kennzeichnung) nicht vom umgebenden Text unterschieden werden.",
  549. "incomplete": {
  550. "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
  551. "bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
  552. "bgImage": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
  553. "bgGradient": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
  554. "imgNode": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
  555. "bgOverlap": "Das Kontrastverhältnis des Elements konnte aufgrund einer Überlagerung nicht bestimmt werden."
  556. }
  557. },
  558. "autocomplete-appropriate": {
  559. "pass": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes geeignet.",
  560. "fail": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes nicht geeignet."
  561. },
  562. "autocomplete-valid": {
  563. "pass": "Der Wert des autocomplete Attributes ist korrekt formatiert.",
  564. "fail": "Der Wert des autocomplete Attributes ist inkorrekt formatiert."
  565. },
  566. "accesskeys": {
  567. "pass": "Alle accesskey-Attribute sind einzigartig.",
  568. "fail": "Das Dokument enthält mehrere Elemente mit dem gleichen accesskey-Attribut."
  569. },
  570. "focusable-content": {
  571. "pass": "Das Element beeinhaltet fokussierbaren Inhalt.",
  572. "fail": "Das Element beeinhaltet keinen fokussierbaren Inhalt."
  573. },
  574. "focusable-disabled": {
  575. "pass": "Das Element beeinhaltet keinen fokussierbaren Inhalt.",
  576. "fail": "Fokussierbarer Inhalt sollte deaktiviert oder vom DOM entfernt werden."
  577. },
  578. "focusable-element": {
  579. "pass": "Element ist fokussierbar.",
  580. "fail": "Element sollte fokussierbar sein."
  581. },
  582. "focusable-modal-open": {
  583. "pass": "Keine fokussierbaren Elemente während ein modaler Dialog offen ist.",
  584. "incomplete": "Üerprüfe ob Elemente fokussierbar während des derzeitigen Status sind."
  585. },
  586. "focusable-no-name": {
  587. "pass": "Das Element befindet sich nicht in der Tabreihenfolge und enthält keinen zugänglichen Text.",
  588. "fail": "Das Element befindet sich in der Tabreihenfolge und enthält keinen zugänglichen Text.",
  589. "incomplete": "Es ist nicht möglich herauszufinden ob Element einen zugänglichen Namen (accessible name) besitzt."
  590. },
  591. "focusable-not-tabbable": {
  592. "pass": "Keine fokussierbaren Elemente innerhalb des Elements.",
  593. "fail": "Fokussierbare Elemente sollten mit tabindex='-1' versehen oder vom DOM entfernt werden."
  594. },
  595. "landmark-is-top-level": {
  596. "pass": "Die ${data.role} landmark befindet sich auf höchster Ebene.",
  597. "fail": "Die ${data.role} landmark befindet sich innerhalb einer anderen landmark."
  598. },
  599. "page-has-heading-one": {
  600. "pass": "Die Seite besitzt mindestens eine Überschrift der ersten Ebene.",
  601. "fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
  602. },
  603. "page-has-main": {
  604. "pass": "Die Seite besitzt eine main landmark.",
  605. "fail": "Die Seite muss eine main landmark besitzen."
  606. },
  607. "page-no-duplicate-banner": {
  608. "pass": "Das Dokument besitzt nicht mehr als eine banner landmark.",
  609. "fail": "Das Dokument besitzt mehr als eine banner landmark."
  610. },
  611. "page-no-duplicate-contentinfo": {
  612. "pass": "Das Dokument besitzt nicht mehr als eine contentinfo landmark.",
  613. "fail": "Das Dokument besitzt mehr als eine contentinfo landmark."
  614. },
  615. "page-no-duplicate-main": {
  616. "pass": "Das Dokument besitzt nicht mehr als eine main landmark.",
  617. "fail": "Das Dokument besitzt mehr als eine main landmark."
  618. },
  619. "tabindex": {
  620. "pass": "Das Element besitzt einen tabindex-Attributwert der nicht größer als 0 ist.",
  621. "fail": "Das Element besitzt einen tabindex-Attributwert größer als 0."
  622. },
  623. "alt-space-value": {
  624. "pass": "Element hat ein valides alt Attribut.",
  625. "fail": "Element hat ein alt Attribut, welches ausschließlich Leerzeichen beeinhaltet, die jedoch nicht durch Screenreader ignoriert werden."
  626. },
  627. "duplicate-img-label": {
  628. "pass": "Das Element besitzt einen Alternativtext der anderweitig vorhanden Text nicht wiederholt.",
  629. "fail": "Das Element besitzt ein <img>-Element mit Alternativtext, der vorhandenen Text wiederholt."
  630. },
  631. "explicit-label": {
  632. "pass": "Das <form>-Element besitzt ein explizites <label>.",
  633. "fail": "Das <form>-Element besitzt kein explizites <label>.",
  634. "incomplete": "Es ist nicht möglich herauszufinden ob das <form> Element ein explizites <label> besitzt."
  635. },
  636. "help-same-as-label": {
  637. "pass": "Der Hilfstext (title oder aria-describedby) dupliziert den label-Text nicht.",
  638. "fail": "Der Hilfstext (angegeben durch ein title- oder aria-describedby-Attribut) wiederholt den label-Text."
  639. },
  640. "hidden-explicit-label": {
  641. "pass": "Das <form> Element besitzt ein sichtbares explizites <label>.",
  642. "fail": "Das <form> Element besitzt ein <label>, welches nicht sichtbar ist.",
  643. "incomplete": "Nicht möglich herauszufinden ob <form> Element ein sichtbares <label> besitzt."
  644. },
  645. "implicit-label": {
  646. "pass": "Das <form>-Element besitzt ein implizites (umschlossenes) <label>-Element.",
  647. "fail": "Das <form>-Element besitzt kein implizites <label>-Element.",
  648. "incomplete": "Nicht möglich herauszufinden ob das <form> Element ein implizites (umschlossenes) <label> besitzt."
  649. },
  650. "label-content-name-mismatch": {
  651. "pass": "Element beeinhaltet sichtbaren Text als Teil des zugänglichen Namens (accessible name).",
  652. "fail": "Das Element beeinhaltet Text, welcher nicht Teil des zugänglichen Namens (accessible name) ist."
  653. },
  654. "multiple-label": {
  655. "pass": "Das <form>-Element besitzt keine multiplen <label>-Elemente.",
  656. "incomplete": "Unterstützung in assistiven Technologien von Elementen mit mehreren Labeln ist nicht wirklich gegeben. Es sollte sichergestellt werden, dass alle relevanten Informationen im ersten Label enthalten sind."
  657. },
  658. "title-only": {
  659. "pass": "Das <form>-Element ist nicht nur lediglich durch ein title-Attribut beschriftet.",
  660. "fail": "Das <form>-Element ist lediglich durch ein title-Attribut beschriftet."
  661. },
  662. "landmark-is-unique": {
  663. "pass": "Landmarks sollten eine einzigartige Rolle oder Rollen/Label/Titel (zugänglicher Name / accessible name) Kombination besitzen.",
  664. "fail": "Landmark muss ein einzigartiges aria-label, aria-labelledby oder Titel besitzen um es von anderen zu unterscheiden."
  665. },
  666. "has-lang": {
  667. "pass": "Das <html>-Element besitzt ein lang-Attribut.",
  668. "fail": {
  669. "noXHTML": "Das xml:lang-Attribut ist auf HTML Seiten nicht valide, es sollte das lang-Attribut genutzt werden.",
  670. "noLang": "Das <html>-Element besitzt kein lang-Attribut."
  671. }
  672. },
  673. "valid-lang": {
  674. "pass": "Der Wert des lang-Attributes ist in der Liste der gültigen Sprachen enthalten.",
  675. "fail": "Der Wert des lang-Attributes ist nicht valide."
  676. },
  677. "xml-lang-mismatch": {
  678. "pass": "Das lang- und xml:lang-Attribut verweisen auf dieselbe Sprache.",
  679. "fail": "Das lang- und xml:lang-Attribut verweisen nicht auf dieselbe Sprache."
  680. },
  681. "dlitem": {
  682. "pass": "Der Definitionslisteneintrag besitzt ein <dl>-Elternelement.",
  683. "fail": "Der Definitionslisteneintrag besitzt kein <dl>-Elternelement."
  684. },
  685. "listitem": {
  686. "pass": "Das Aufzählungselement besitzt ein gültiges Elternelement (<ul>, <ol> oder Element mit role=\"list\").",
  687. "fail": {
  688. "default": "Aufzählungselement besitzt kein gültiges Elternelement (<ul>, <ol>)",
  689. "roleNotValid": "Aufzählungselement besitzt kein gültiges Elternelement ohne role-Attribut (<ul>, <ol>) oder mit role=\"list\"."
  690. }
  691. },
  692. "only-dlitems": {
  693. "pass": "Das Aufzählungselement enthält Kindelemente, welche innerhalb der <dt> oder <dd>-Elemente erlaubt sind.",
  694. "fail": "Das <dl>-Element enthält unerlaubte Kindelemente."
  695. },
  696. "only-listitems": {
  697. "pass": "Das Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements erlaubt sind.",
  698. "fail": {
  699. "default": "Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements nicht erlaubt sind.",
  700. "roleNotValid": "Aufzählungselement besitzt Kinder, welche folgende nicht erlaubte Rollen besitzen: ${data.roles}"
  701. }
  702. },
  703. "structured-dlitems": {
  704. "pass": "Das Definitionslisten-Element enthält sowohl <dt> als auch <dd>-Elemente, falls es nichtleer sein sollte.",
  705. "fail": "Das Definitionslisten-Element enthält kein <dt>-Element, welches von keinem <dd>-Element gefolgt wird."
  706. },
  707. "caption": {
  708. "pass": "Das Multimedia-Element besitzt eine Untertitelung (captions track).",
  709. "incomplete": "Für das Element konnte keine Untertitelung (captions track) gefunden werden."
  710. },
  711. "frame-tested": {
  712. "pass": "Das iFrame konnte mit axe-core getestet werden.",
  713. "fail": "Das iFrame konnte nicht mit axe-core getestet werden.",
  714. "incomplete": "Das iFrame muss noch mit axe-core getestet werden."
  715. },
  716. "no-autoplay-audio": {
  717. "pass": "Die <video> oder <audio>-Elemente geben keinen Ton über die erlaubte Zeitspanne aus oder haben Kontrollmöglichkeiten.",
  718. "fail": "Die <video> oder <audio>-Elemente geben Ton über die erlaubte Zeitspanne aus oder haben keine Kontrollmöglichkeiten.",
  719. "incomplete": "Es sollte überprüft werden, dass <video> oder <audio>-Elemente keinen Ton über die erlaubte Zeitspanne ausgeben oder Kontrollmöglichkeiten haben."
  720. },
  721. "css-orientation-lock": {
  722. "pass": "Display ist bedienbar, und eine CSS-Ausrichtungssperre ist nicht vorhanden.",
  723. "fail": "CSS-Ausrichtungssperre wird angewendet und macht die Anzeige unbrauchbar.",
  724. "incomplete": "Der Wert der CSS-Ausrichtungssperre kann nicht ermittelt werden."
  725. },
  726. "meta-viewport-large": {
  727. "pass": "Der <meta>-Tag schränkt das Zoomen nicht ein.",
  728. "fail": "Die viewport-Einstellungen im <meta>-Tag schränken das Zoomen auf mobilen Geräten ein."
  729. },
  730. "meta-viewport": {
  731. "pass": "Der <meta>-Tag blockiert das Zoomen auf mobilen Geräten nicht.",
  732. "fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
  733. },
  734. "header-present": {
  735. "pass": "Die Seite besitzt eine Seitenüberschrift.",
  736. "fail": "Die Seite besitzt keine Seitenüberschrift."
  737. },
  738. "heading-order": {
  739. "pass": "Die Überschriftenstruktur ist gültig.",
  740. "fail": "Die Überschriftenstruktur ist nicht valide."
  741. },
  742. "identical-links-same-purpose": {
  743. "pass": "Es befinden sich keine Links auf der Seite, welche mit demselben Namen auf dasselbe Ziel verweisen.",
  744. "incomplete": "Prüfen Sie, ob die Links den gleichen Zweck haben oder absichtlich mehrdeutig sind."
  745. },
  746. "internal-link-present": {
  747. "pass": "Es wurde ein gültiger Skip-Link gefunden.",
  748. "fail": "Kein gültiger Skip-Link gefunden."
  749. },
  750. "landmark": {
  751. "pass": "Die Seite besitzt eine landmark region.",
  752. "fail": "Die Seite besitzt keine landmark region."
  753. },
  754. "meta-refresh": {
  755. "pass": "Der <meta>-Tag erzwingt keine sofortige Aktualisierung der Seite.",
  756. "fail": "Der <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
  757. },
  758. "p-as-heading": {
  759. "pass": "<p>-Elemente werden nicht als Überschriftenelement zweckentfremdet.",
  760. "fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet."
  761. },
  762. "region": {
  763. "pass": "Jeglicher Inhalt der Seite befindet sich in einer landmark.",
  764. "fail": "Der Inhalt befindet sich nicht in einer ARIA landmark."
  765. },
  766. "skip-link": {
  767. "pass": "Das Ziel des Skip-Links existiert.",
  768. "incomplete": "Der Skip-Link sollte bei Aktivierung sichtbar werden.",
  769. "fail": "Es existiert kein Ziel für den Skip-Link."
  770. },
  771. "unique-frame-title": {
  772. "pass": "Das title-Attribut des Elements ist einzigartig.",
  773. "fail": "Das title-Attribut des Elementes ist nicht einmalig."
  774. },
  775. "duplicate-id-active": {
  776. "pass": "Dokument hat keine aktiven Elemente mit denselben ID-Attributen.",
  777. "fail": "Dokument hat aktiven Elemente mit denselben ID-Attributen: ${data}."
  778. },
  779. "duplicate-id-aria": {
  780. "pass": "Dokument besitzt keine Elemente, welche mit ARIA oder Labels referenziert werden, welche die gleiche ID besitzen.",
  781. "fail": "Dokument besitzt Elemente, welche mit ARIA oder Labels referenziert werden, welche folgende gleiche ID besitzen: ${data}"
  782. },
  783. "duplicate-id": {
  784. "pass": "Das Dokument besitzt eine einzigartige ID.",
  785. "fail": "Das Dokument besitzt mehrere Elemente mit demselben id-Attributwert: ${data}."
  786. },
  787. "aria-label": {
  788. "pass": "Das aria-label-Attribut existiert und ist nichtleer.",
  789. "fail": "Es existiert kein aria-label-Attribut oder das Attribut ist leer."
  790. },
  791. "aria-labelledby": {
  792. "pass": "Das aria-labelledby-Attribut existiert und referenziert ein Element, welches für Screen Reader sichtbar ist.",
  793. "fail": "Das aria-labelledby-Attribut existiert nicht oder referenziert ein Element, das nicht existiert, nicht sichtbar oder leer ist.",
  794. "incomplete": "Es sollte sichergestellt werden, dass aria-labelledby auf ein existierendes Element verweist."
  795. },
  796. "avoid-inline-spacing": {
  797. "pass": "Es werden keine inline-Stilangaben mit '!important' spezifiziert, welche den Textabstand beeinflussen.",
  798. "fail": {
  799. "singular": "Es sollte '!important' vom inline-Stil ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist.",
  800. "plural": "Es sollte '!important' von den inline-Stilen ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist."
  801. }
  802. },
  803. "button-has-visible-text": {
  804. "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
  805. "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
  806. "incomplete": "Ob das Element über Kindelemente bzw. textuelle Inhalte verfügt, kann nicht ermittelt werden."
  807. },
  808. "doc-has-title": {
  809. "pass": "Test",
  810. "fail": "Das Dokument besitzt kein <title>-Element oder das <title>-Element ist leer."
  811. },
  812. "exists": {
  813. "pass": "Das Element existiert nicht.",
  814. "incomplete": "Das Element existiert."
  815. },
  816. "has-alt": {
  817. "pass": "Das Element besitzt ein alt-Attribut.",
  818. "fail": "Das Element besitzt kein alt-Attribut."
  819. },
  820. "has-visible-text": {
  821. "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
  822. "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
  823. "incomplete": "Es ist nicht möglich zu ermitteln, ob das Element Kinder besitzt."
  824. },
  825. "is-on-screen": {
  826. "pass": "Das Element ist nicht sichtbar.",
  827. "fail": "Das Element ist sichtbar."
  828. },
  829. "non-empty-alt": {
  830. "pass": "Das Element hat ein nichtleeres alt-Attribut.",
  831. "fail": {
  832. "noAttr": "Das Element hat kein alt-Attribut.",
  833. "emptyAttr": "Das Element hat ein leeres alt-Attribut."
  834. }
  835. },
  836. "non-empty-if-present": {
  837. "pass": {
  838. "default": "Das Element hat kein value-Attribut.",
  839. "has-label": "Das Element hat ein nichtleeres value-Attribut."
  840. },
  841. "fail": "Das Element besitzt ein value-Attribut und das value-Attribut ist leer."
  842. },
  843. "non-empty-placeholder": {
  844. "pass": "Element hat ein nichtleeres Platzhalterattribut.",
  845. "fail": {
  846. "noAttr": "Element hat kein Platzhalterattribut.",
  847. "emptyAttr": "Element hat ein leeres Platzhalterattribut."
  848. }
  849. },
  850. "non-empty-title": {
  851. "pass": "Das Element hat ein nichtleeres title-Attribut.",
  852. "fail": {
  853. "noAttr": "Element hat kein title-Attribut.",
  854. "emptyAttr": "Element hat ein leeres title-Attribut."
  855. }
  856. },
  857. "non-empty-value": {
  858. "pass": "Das Element hat ein nichtleeres value-Attribut",
  859. "fail": {
  860. "noAttr": "Element hat kein value-Attribut.",
  861. "emptyAttr": "Element hat ein leeres value-Attribut."
  862. }
  863. },
  864. "presentational-role": {
  865. "pass": "Die Standardsemantik des Elements wurden mit der Rolle \"${data.role}\" überschrieben.",
  866. "fail": {
  867. "default": "Die Standardsemantik des Elements wurden nicht mit der Rolle role=\"none\" oder role=\"presentation\" überschrieben.",
  868. "globalAria": "Die Rolle des Elements ist nicht präsentativ aufgrund des globalen ARIA Attributs.",
  869. "focusable": "Die Rolle des Elements ist nicht präsentativ aufgrund der Möglichkeit es zu fokussieren.",
  870. "both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren."
  871. }
  872. },
  873. "role-none": {
  874. "pass": "Die Standard-Semantik des Elementes ist mit role=\"none\" überschrieben.",
  875. "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"none\" überschrieben."
  876. },
  877. "role-presentation": {
  878. "pass": "Die Standard-Semantik des Elementes ist mit role=\"presentation\" überschrieben.",
  879. "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"presentation\" überschrieben."
  880. },
  881. "svg-non-empty-title": {
  882. "pass": "Element hat ein Kind, welches ein Titel ist.",
  883. "fail": {
  884. "noTitle": "Element hat ein Kind, welches kein Titel ist.",
  885. "emptyTitle": "Das Kind des Elements, welches ein Titel ist, ist leer."
  886. },
  887. "incomplete": "Es ist nicht möglich zu ermitteln ob das Element ein Kind hat, welches ein Titel ist."
  888. },
  889. "caption-faked": {
  890. "pass": "Die erste Zeile der Tabelle wird nicht als Tabellenüberschrift verwendet.",
  891. "fail": "Die erste Zeile der Tabelle sollte nicht als Tabellenüberschrift verwendet werden."
  892. },
  893. "html5-scope": {
  894. "pass": "Das scope-Attribut wird nur für Tabellenkopfzellen (<th>) verwendet.",
  895. "fail": "In HTML5 dürfen scope-Attribute lediglich für Tabellenkopfzellen (<th>) verwendet werden."
  896. },
  897. "same-caption-summary": {
  898. "pass": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind nicht identisch.",
  899. "fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch."
  900. },
  901. "scope-value": {
  902. "pass": "Das scope-Attribut wird korrekt verwendet.",
  903. "fail": "Das <td>-Element besitzt ein scope-Attribut. In HTML5 dürfen scope-Attribute jedoch lediglich für Tabellenkopfzellen <th> verwendet werden."
  904. },
  905. "td-has-header": {
  906. "pass": "Alle nichtleeren Datenzellen haben eine Tabellenkopfzelle.",
  907. "fail": "Nicht alle (nichtleeren) Datenzellen haben eine Tabellenkopfzelle."
  908. },
  909. "td-headers-attr": {
  910. "pass": "Das headers-Attribut wird ausschließlich dafür verwendet, um auf andere Zellen in der Tabelle zu verweisen.",
  911. "incomplete": "Das headers-Attribut ist leer.",
  912. "fail": "Das headers-Attribut wird nicht ausschließlich dafür verwendet, um auf andere Zellen in der Tabelle zu verweisen."
  913. },
  914. "th-has-data-cells": {
  915. "pass": "Alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
  916. "fail": "Nicht alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
  917. "incomplete": "Datenzellen der Tabelle fehlen oder sind leer."
  918. },
  919. "hidden-content": {
  920. "pass": "Jeglicher Inhalt der Seite wurde analysiert.",
  921. "fail": "Beim Analysieren der Inhalte auf dieser Seite sind Probleme aufgetreten.",
  922. "incomplete": "Auf der Seite befinden sich versteckte Inhalte, die nicht analysiert werden konnten. Um den Inhalt analysieren zu können, müssen Sie die Anzeige auslösen."
  923. }
  924. },
  925. "failureSummaries": {
  926. "any": {
  927. "failureMessage": "Korrigiere mindestens einen der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  928. },
  929. "none": {
  930. "failureMessage": "Korrigiere alle der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
  931. }
  932. },
  933. "incompleteFallbackMessage": ""
  934. }