diff --git a/kayle/bench/fast_axecore-playwright.ts b/kayle/bench/fast_axecore-playwright.ts index 9f2707e4..bace8587 100644 --- a/kayle/bench/fast_axecore-playwright.ts +++ b/kayle/bench/fast_axecore-playwright.ts @@ -53,7 +53,7 @@ async function launchBench() { unit: "OPS/S", value: 1000 / avg, }, - ]) + ]), ); } diff --git a/kayle/bench/fast_htmlcs-playwright.ts b/kayle/bench/fast_htmlcs-playwright.ts index fc495d85..08925d20 100644 --- a/kayle/bench/fast_htmlcs-playwright.ts +++ b/kayle/bench/fast_htmlcs-playwright.ts @@ -53,7 +53,7 @@ async function launchBench() { unit: "OPS/S", value: 1000 / avg, }, - ]) + ]), ); } diff --git a/kayle/builder/build-extension.ts b/kayle/builder/build-extension.ts index 91cdbeda..c28ab6b3 100644 --- a/kayle/builder/build-extension.ts +++ b/kayle/builder/build-extension.ts @@ -52,7 +52,7 @@ window.addEventListener("kayle_send", async (event) => { writeFileSync( `${ext}/content-script.js`, - `${extensionRunner}\n${extensionAxe}\n${extensionHtmlcs}\n${extensionRawEnd}` + `${extensionRunner}\n${extensionAxe}\n${extensionHtmlcs}\n${extensionRawEnd}`, ); const extensionManifest = `{ diff --git a/kayle/builder/build-htmlcs-params.ts b/kayle/builder/build-htmlcs-params.ts index 3ec631cc..a7e4cb69 100644 --- a/kayle/builder/build-htmlcs-params.ts +++ b/kayle/builder/build-htmlcs-params.ts @@ -35,6 +35,11 @@ const isHTMLCSAddMessageCall = (node) => { return false; }; +// get the add Message call directly +const extractPureAddMessageArgs = (s: string) => { + return s.replace(/\.replace\(.*?\)/, "").replace(/^_global\./, ""); +}; + const processFile = (filePath) => { const code = readFileSync(filePath, "utf8"); const ast = parse(code, { sourceType: "script", ecmaVersion: 2020 }); @@ -52,24 +57,25 @@ const processFile = (filePath) => { return arg.name; } - if (arg.type === "MemberExpression") { - // @ts-ignore - return arg.property.name?.toLowerCase(); + if ( + arg.type === "MemberExpression" && + arg.property && + arg.property.type === "Identifier" + ) { + return arg.property.name.toLowerCase(); + } + + if (arg.type === "CallExpression" && arg.callee) { + return extractPureAddMessageArgs(generate(arg)); } if ( index === 2 && arg.type === "CallExpression" && - // @ts-ignore - arg.callee?.object?.object?.name === "_global" && - // @ts-ignore - arg.callee?.object?.property?.name === "HTMLCS" && - // @ts-ignore - arg.callee?.property?.name === "getTranslation" + arg.callee && + arg.arguments.length ) { - if (arg.arguments.length) { - return generate(arg).replace("_global.", ""); - } + return extractPureAddMessageArgs(generate(arg)); } return null; @@ -77,11 +83,14 @@ const processFile = (filePath) => { params.push(pathParse(filePath).name); - // run regex on first match if (!guide) { guide = code.match( - /(_global\.HTMLCS_WCAG2AAA_Sniffs_)([A-Za-z0-9_]+)/ + /(_global\.HTMLCS_WCAG2AAA_Sniffs_)([A-Za-z0-9_]+)/, ); + if (guide && guide[2]) { + const end = guide[2].length - 23; + guide[2] = guide[2].slice(0, guide[2].length - end); + } } if (guide && guide[2]) { diff --git a/kayle/builder/build-rules.ts b/kayle/builder/build-rules.ts index d8f5bae1..1fd61b6e 100644 --- a/kayle/builder/build-rules.ts +++ b/kayle/builder/build-rules.ts @@ -9,8 +9,8 @@ import { processParams } from "./build-htmlcs-params"; import type { Rule } from "./build-types"; (async () => { - const browser = await chromium.launch({ headless: true }); const paramList = await processParams(); + const browser = await chromium.launch({ headless: true }); const pConfig = { singleQuote: true, @@ -35,7 +35,7 @@ import type { Rule } from "./build-types"; origin: "https://www.example.com", language, }, - true + true, ); await page.evaluate((o) => { @@ -47,11 +47,11 @@ import type { Rule } from "./build-types"; }); await page.exposeFunction("pushHtmlcsRule", (t: Rule) => - fast_htmlcs_rules.push(t) + fast_htmlcs_rules.push(t), ); await page.exposeFunction("pushAxeRule", (t: Rule) => - fast_axe_rules.push(t) + fast_axe_rules.push(t), ); await page.evaluate(() => { @@ -76,12 +76,12 @@ import type { Rule } from "./build-types"; Buffer.from( await format( `/* ${DNE} */\nexport const htmlcsRules = ${JSON.stringify( - fast_htmlcs_rules.filter((r) => r.description) + fast_htmlcs_rules.filter((r) => r.description), )};`, - pConfig - ) + pConfig, + ), ), - "utf8" + "utf8", ); await writeFile( @@ -89,19 +89,19 @@ import type { Rule } from "./build-types"; Buffer.from( await format( `/* ${DNE} */\nexport const axeRules = ${JSON.stringify( - fast_axe_rules + fast_axe_rules, )};`, - pConfig - ) + pConfig, + ), ), - "utf8" + "utf8", ); await page.close(); }; const localesList: string[] = Array.from( - new Set(htmlcsLocales.concat(axeLocales)) + new Set(htmlcsLocales.concat(axeLocales)), ); localesList.push("en"); @@ -118,10 +118,10 @@ import type { Rule } from "./build-types"; export { htmlcsRules as htmlcsRules${l.toUpperCase()} } from "./${l}/htmlcs-rules";`; }) .join(""), - pConfig - ) + pConfig, + ), ), - "utf8" + "utf8", ); await browser.close(); diff --git a/kayle/builder/htmlcs-rule-map.ts b/kayle/builder/htmlcs-rule-map.ts index d4ba8b71..7f4fbdea 100644 --- a/kayle/builder/htmlcs-rule-map.ts +++ b/kayle/builder/htmlcs-rule-map.ts @@ -22,7 +22,6 @@ export const htmlcsRuleMap = (rule: ParamList) => { "Devicemotion", ]; - // TODO: PATCH RULES FROM INLINE TRANSLATIONS const inlineTranslation = rule[2] && rule[2].startsWith("HTMLCS.getTranslation"); @@ -47,7 +46,6 @@ export const htmlcsRuleMap = (rule: ParamList) => { ? rule[2].replace("HTMLCS.getTranslation(", "").replace(")", "") : ""; - // FIXME: we need to get the BASE GUIDELINES upfront like WCAG2AA.Principle1.Guideline1_4 to concat the id with. const ruleId = inlineTranslation ? inlineRule.substring(1, inlineRule.length - 1) : baseRuleId; diff --git a/kayle/lib/action.ts b/kayle/lib/action.ts index e336375a..909222c7 100644 --- a/kayle/lib/action.ts +++ b/kayle/lib/action.ts @@ -56,13 +56,13 @@ export const actions = [ target.dispatchEvent( new Event("input", { bubbles: true, - }) + }), ); return Promise.resolve(); }, selector, - value + value, ); } catch (error) { throw new Error(`${failedActionElement} "${selector}"`); @@ -91,7 +91,7 @@ export const actions = [ target.dispatchEvent( new Event("input", { bubbles: true, - }) + }), ); return Promise.resolve(); }, selector); @@ -117,12 +117,12 @@ export const actions = [ target.dispatchEvent( new Event("change", { bubbles: true, - }) + }), ); return Promise.resolve(); }, selector, - checked + checked, ); } catch (error) { throw new Error(`${failedActionElement} "${selector}"`); @@ -176,7 +176,7 @@ export const actions = [ {}, property, expectedValue, - negated + negated, ); }, }, @@ -216,7 +216,7 @@ export const actions = [ polling: 200, }, selector, - state + state, ); }, }, @@ -244,11 +244,11 @@ export const actions = [ }, { once: true, - } + }, ); }, selector, - eventType + eventType, ); await page.waitForFunction( @@ -263,7 +263,7 @@ export const actions = [ }, { polling: 200, - } + }, ); } catch (error) { throw new Error(`${failedActionElement} "${selector}"`); @@ -283,7 +283,7 @@ export const actions = [ */ export async function runAction(browser, page, options, act, customActions?) { const action = (customActions ?? actions).find((item) => - item.match.test(act) + item.match.test(act), ); if (!action) { diff --git a/kayle/lib/auto.ts b/kayle/lib/auto.ts index e92df798..dcde82d9 100644 --- a/kayle/lib/auto.ts +++ b/kayle/lib/auto.ts @@ -17,7 +17,7 @@ export async function autoKayle( cb?: ((result: Audit) => Promise) | ((result: Audit) => void); } = {}, ignoreSet?: Set, - _results?: Audit[] + _results?: Audit[], ): Promise { if (!write) { const { writeFile } = await import("fs/promises"); @@ -51,7 +51,7 @@ export async function autoKayle( if (o.store) { await write( `${o.store}/${encodeURIComponent(o.page.url())}`, - await o.page.content() + await o.page.content(), ); } @@ -84,7 +84,7 @@ export async function autoKayle( origin: link, }, ignoreSet, - _results + _results, ); }) .catch((e) => { @@ -94,7 +94,7 @@ export async function autoKayle( console.error(e); } }); - }) + }), ); return _results; diff --git a/kayle/lib/config.ts b/kayle/lib/config.ts index 51313dd2..3f0ed360 100644 --- a/kayle/lib/config.ts +++ b/kayle/lib/config.ts @@ -42,7 +42,7 @@ type BrowserContext = { newCDPSession?(page: Partial | Frame): Partial; overridePermissions?( origin: string, - permissions: Permission[] + permissions: Permission[], ): Promise; }; @@ -89,7 +89,7 @@ type Page = { _routes?: { url: string }[]; route( path: string, - intercept: (config: any, next: any) => Promise | Promise + intercept: (config: any, next: any) => Promise | Promise, ): Promise; setRequestInterception?(enable?: boolean): Promise; listenerCount?(name: string): number; @@ -99,19 +99,19 @@ type Page = { | Function | { default: Function; - } + }, ): Promise; addInitScript?(script: { content?: string }): Promise; evaluateOnNewDocument?< Params extends unknown[], - Func extends (...args: Params) => unknown = (...args: Params) => unknown + Func extends (...args: Params) => unknown = (...args: Params) => unknown, >( pageFunction: Func | string, ...args: Params ): Promise<{ identifier: string }>; evaluate< Params extends unknown[], - Func extends EvaluateFunc = EvaluateFunc + Func extends EvaluateFunc = EvaluateFunc, >( pageFunction: Func | string, ...args: Params diff --git a/kayle/lib/kayle.ts b/kayle/lib/kayle.ts index b6864277..f4a2b6fa 100644 --- a/kayle/lib/kayle.ts +++ b/kayle/lib/kayle.ts @@ -32,7 +32,7 @@ const audit = async (config: RunnerConfig): Promise => { origin: config.origin, language: config.language, clip: config.clip, - } + }, ); }; @@ -61,7 +61,7 @@ const injectRunners = async (config: RunnerConfig) => { return await Promise.allSettled([ config.page.evaluate(runnersJavascript["kayle"]), ...config.runners.map((r) => - config.page.evaluate(getRunner(config.language, r)) + config.page.evaluate(getRunner(config.language, r)), ), ]); } @@ -77,7 +77,7 @@ export const auditExtension = async (config: RunnerConfig): Promise => { } window.addEventListener("kayle_receive", (event: CustomEvent) => - resolve(event.detail.data) + resolve(event.detail.data), ); window.dispatchEvent( @@ -86,7 +86,7 @@ export const auditExtension = async (config: RunnerConfig): Promise => { name: "kayle", options: runOptions, }, - }) + }), ); }); }, @@ -100,7 +100,7 @@ export const auditExtension = async (config: RunnerConfig): Promise => { origin: config.origin, language: config.language, clip: config.clip, - } + }, ); }; @@ -121,7 +121,7 @@ const auditPageInnate = async (config: RunnerConf, results: Audit) => { const innateAudit: InnateIssue[] = await kayle_innate.audit( html, css, - config.clip + config.clip, ); for (const innateIssue of innateAudit) { @@ -163,7 +163,7 @@ const auditPageInnate = async (config: RunnerConf, results: Audit) => { */ export const kayle = async ( o: RunnerConf = {}, - preventClose?: boolean + preventClose?: boolean, ): Promise => { const watcher = new Watcher(); const navigate = o.page.url() === "about:blank" && (o.origin || o.html); @@ -212,7 +212,7 @@ export const kayle = async ( } return item; - }) + }), ); } diff --git a/kayle/lib/lint.ts b/kayle/lib/lint.ts index d8c36e36..2b420f1a 100644 --- a/kayle/lib/lint.ts +++ b/kayle/lib/lint.ts @@ -12,7 +12,7 @@ export const kayleLint = async ( source?: string, // url or html source o: Partial = {}, runner?: keyof typeof runnersJavascript, - forward?: boolean // forward messages to console + forward?: boolean, // forward messages to console ) => { const config = extractArgs(o); let html = source; @@ -55,7 +55,7 @@ export const kayleLint = async ( dom.window.eval(runnersJavascript.kayle); dom.window.eval( - runner ? runnersJavascript[runner] : runnersJavascript["htmlcs"] + runner ? runnersJavascript[runner] : runnersJavascript["htmlcs"], ); const results = await dom.window.__a11y.run({ diff --git a/kayle/lib/rules/ar/htmlcs-rules.ts b/kayle/lib/rules/ar/htmlcs-rules.ts index 6227bdac..ea57b532 100644 --- a/kayle/lib/rules/ar/htmlcs-rules.ts +++ b/kayle/lib/rules/ar/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,573 +302,624 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "عنصر Img هو المحتوى الوحيد للرابط، لكنه يفتقد إلى نص بديل. يجب أن يصف النص البديل غرض الرابط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "يجب أن يكون عنصر Img ذو نص alt فارغ مزودًا بسمة title غائبة أو فارغة.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "تم تمييز عنصر Img بحيث يتم تجاهله بواسطة تقنيات المساعدة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "عنصر Img يفتقد إلى سمة alt. استخدم سمة alt لتحديد بديل نصي قصير.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "تأكد من أن النص البديل لعنصر img يحقق نفس الغرض ويعرض نفس المعلومات كالصورة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "زر إرسال الصورة يفتقد إلى سمة alt. حدد بديلاً نصيًا يصف وظيفة الزر باستخدام سمة alt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "تأكد من أن النص البديل لزر إرسال الصورة يحدد غرض الزر.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "عنصر Area في خريطة صورة يفتقد إلى سمة alt. يجب أن يكون لكل عنصر area بديل نصي يصف وظيفة منطقة خريطة الصورة.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "تأكد من أن البديل النصي لعنصر المنطقة يحقق نفس الغرض كجزء من صورة خريطة الصورة التي يشير إليها.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "إذا لم يتم وصف هذه الصورة بالكامل في بديل نصي قصير، تأكد من توفر بديل نصي طويل أيضًا، مثل في نص الجسم أو من خلال رابط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "يجب ألا يستخدم عنصر Img داخل رابط نص alt يكرر محتوى نص الرابط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "عنصر Img داخل رابط له نص alt فارغ أو مفقود عندما يحتوي رابط بجانبه على نص رابط. ضع في اعتبارك دمج الروابط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "يجب ألا يستخدم عنصر Img داخل رابط النص alt الذي يكرر محتوى رابط النص بجانبه.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "عنصر Img داخل رابط له نص alt فارغ أو مفقود عندما يحتوي رابط بجانبه على نص رابط. ضع في اعتبارك دمج الروابط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "يجب ألا يستخدم عنصر Img داخل رابط النص alt الذي يكرر محتوى رابط النص بجانبه.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "يجب أن تحتوي عناصر الكائن على بديل نصي بعد استنفاد جميع البدائل الأخرى.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "تحقق من توفر بدائل نصية قصيرة (وإذا كان مناسبًا، طويلة) للمحتوى غير النصي التي تحقق نفس الغرض وتعرض نفس المعلومات.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "يجب أن تحتوي عناصر Applet على بديل نصي في جسم العنصر، للمتصفحات التي لا تدعم عنصر applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "يجب أن تحتوي عناصر Applet على سمة alt، لتوفير بديل نصي للمتصفحات التي تدعم العنصر ولكن لا يمكنها تحميل التطبيق.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "تحقق من توفر بدائل نصية قصيرة (وإذا كان مناسبًا، طويلة) للمحتوى غير النصي التي تحقق نفس الغرض وتعرض نفس المعلومات.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "إذا كان هذا الجسم المضمن يحتوي على صوت مسبق التسجيل فقط، ولم يتم توفيره كبديل للمحتوى النصي، تحقق من توفر نسخة نصية بديلة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "إذا كان هذا الجسم المضمن يحتوي على فيديو مسبق التسجيل فقط، ولم يتم توفيره كبديل للمحتوى النصي، تحقق من توفر نسخة نصية بديلة، أو تتوفر مسار صوتي يعرض معلومات مكافئة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة مسجلة مسبقًا ولم يتم توفيره كبديل للمحتوى النصي، تحقق من توفير ترجمات للمحتوى الصوتي.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة مسجلة مسبقًا ولم يتم توفيره كبديل للمحتوى النصي، تحقق من توفير وصف صوتي لفيديوهاته، و/أو نسخة نصية بديلة للمحتوى.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة، تحقق من توفير ترجمات للمحتوى الصوتي المباشر.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة مسجلة مسبقًا، تحقق من توفير وصف صوتي لمحتوى الفيديو الخاص به.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة مسجلة مسبقًا، تحقق من توفير تفسير بلغة الإشارة لمحتواه الصوتي.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة، والتوقفات في الصوت الأمامي لا تكفي للسماح بوصفات صوتية لنقل معنى الفيديو المسجل مسبقًا، تحقق من توفر وصف صوتي ممتد، إما من خلال البرمجة أو نسخة بديلة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "إذا كان هذا الجسم المضمن يحتوي على وسائط متزامنة مسجلة مسبقًا أو محتوى فيديو فقط، تحقق من توفر نسخة نصية بديلة للمحتوى.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "إذا كان هذا الجسم المضمن يحتوي على محتوى صوتي مباشر فقط، تحقق من توفر نسخة نصية بديلة للمحتوى.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'دور هذا العنصر هو "presentation" لكنه يحتوي على عناصر فرعية ذات معنى دلالي.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'سمة "for" لهذه العلامة تحتوي على معرف لعنصر ليس عنصر تحكم في النموذج. تأكد من أنك أدخلت المعرف الصحيح للعنصر المقصود.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'هذا عنصر التحكم في النموذج يحتوي على سمة "title" فارغة أو تحتوي على مسافات فقط. سيتم تجاهلها لأغراض اختبار التسمية.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'هذا عنصر التحكم في النموذج يحتوي على سمة "aria-label" فارغة أو تحتوي على مسافات فقط. سيتم تجاهلها لأغراض اختبار التسمية.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'هذا عنصر التحكم في النموذج يحتوي على سمة aria-labelledby، ومع ذلك فإنه يتضمن معرف "{{id}}" الذي لا يوجد في عنصر. ستتم تجاهل سمة aria-labelledby لأغراض اختبار التسمية.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "هذا الحقل النموذجي المخفي مسمى بطريقة ما. يجب ألا تكون هناك حاجة لتسمية حقل نموذجي مخفي.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'يُفترض أن هذا الحقل النموذجي مخفي (باستخدام سمة "hidden")، لكنه مسمى أيضًا بطريقة ما. يجب ألا تكون هناك حاجة لتسمية حقل نموذجي مخفي.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'يجب تسمية هذا الحقل النموذجي بطريقة ما. استخدم عنصر العلامة (إما بسمة "for" أو ملفوفًا حول حقل النموذج)، أو سمات "title"، "aria-label" أو "aria-labelledby" حسب الاقتضاء.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "العلامات العرضية المستخدمة التي أصبحت قديمة في HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "يجب استخدام العلامات الدلالية لتمييز النص المؤكد أو النص الخاص بحيث يمكن تحديده برمجيًا.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "يجب استخدام العلامات الدلالية لتمييز النص المؤكد أو النص الخاص بحيث يمكن تحديده برمجيًا.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "يجب استخدام علامات العنوان إذا كان هذا المحتوى مقصودًا كعنوان.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "خلية الجدول لها سمة نطاق غير صالحة. القيم الصالحة هي الصف، العمود، مجموعة الصفوف، أو مجموعة الأعمدة.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "سمات النطاق على عناصر td التي تعمل كعناوين لعناصر أخرى قديمة في HTML5. استخدم عنصر th بدلاً من ذلك.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "سمات النطاق على عناصر th غامضة في جدول به عدة مستويات من العناوين. استخدم سمة العناوين على عناصر td بدلاً من ذلك.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "تحقق من صحة سمات العناوين على عناصر td.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'سمة العناوين غير صحيحة على عنصر td هذا. المتوقع "{{expected}}" ولكن وُجد "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "العلاقة بين عناصر td وعناصر th المرتبطة بها غير محددة. نظرًا لأن هذا الجدول يحتوي على عدة مستويات من عناصر th، يجب استخدام سمة العناوين على عناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "ليس كل عناصر th في هذا الجدول تحتوي على سمة id. يجب أن تحتوي هذه الخلايا على معرفات حتى يمكن الإشارة إليها بواسطة سمات العناوين في عناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "ليس كل عناصر td في هذا الجدول تحتوي على سمة عناوين. يجب أن تحتوي كل سمة عناوين على قائمة بمعرفات كل عناصر th المرتبطة بهذه الخلية.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "العلاقة بين عناصر td وعناصر th المرتبطة بها غير محددة. استخدم إما سمة النطاق على عناصر th، أو سمة العناوين على عناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "ليس كل عناصر th في هذا الجدول تحتوي على سمة id. يجب أن تحتوي هذه الخلايا على معرفات حتى يمكن الإشارة إليها بواسطة سمات العناوين في عناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "ليس كل عناصر td في هذا الجدول تحتوي على سمة عناوين. يجب أن تحتوي كل سمة عناوين على قائمة بمعرفات كل عناصر th المرتبطة بهذه الخلية.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "ليس كل عناصر th في هذا الجدول تحتوي على سمة نطاق. يجب أن تحتوي هذه الخلايا على سمة نطاق لتحديد علاقتها بعناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "العلاقة بين عناصر td وعناصر th المرتبطة بها غير محددة. استخدم إما سمة النطاق على عناصر th، أو سمة العناوين على عناصر td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "يبدو أن هذا الجدول يستخدم للتخطيط، لكنه يحتوي على سمة ملخص. يجب ألا تحتوي جداول التخطيط على سمات ملخص، أو إذا تم توفيرها، يجب أن تكون فارغة.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "إذا كان هذا الجدول جدول بيانات، وكل من سمة الملخص وعنصر العنوان موجودين، يجب ألا تكرر السمة الملخص العنوان.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "إذا كان هذا الجدول جدول بيانات، تحقق من أن سمة الملخص تصف تنظيم الجدول أو تشرح كيفية استخدام الجدول.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "إذا كان هذا الجدول جدول بيانات، فكر في استخدام سمة الملخص للعنصر الجدولي لتقديم لمحة عامة عن هذا الجدول.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "يبدو أن هذا الجدول يستخدم للتخطيط، لكنه يحتوي على عنصر عنوان. يجب ألا تحتوي جداول التخطيط على عناوين.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "إذا كان هذا الجدول جدول بيانات، تحقق من أن عنصر العنوان يصف هذا الجدول بدقة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "إذا كان هذا الجدول جدول بيانات، فكر في استخدام عنصر عنوان لعنصر الجدول لتحديد هذا الجدول.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset لا يحتوي على عنصر legend. يجب أن تحتوي جميع الحقول على عنصر أسطورة يصف وصف مجموعة الحقل.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "إذا كانت قائمة التحديد هذه تحتوي على مجموعات من الخيارات ذات الصلة، فيجب تجميعها باستخدام optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "إذا كانت زر الراديو هذه أو خانات الاختيار تتطلب وصفًا إضافيًا على مستوى المجموعة، فيجب أن تكون موجودة داخل عنصر fieldset.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "يبدو أن هذا المحتوى يحاكي قائمة غير مرتبة باستخدام النص العادي. إذا كان الأمر كذلك، فإن وضع العلامة على هذا المحتوى بعنصر ul سيضيف معلومات هيكلية مناسبة للوثيقة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "يبدو أن هذا المحتوى يحاكي قائمة مرتبة باستخدام النص العادي. إذا كان الأمر كذلك، فإن وضع العلامة على هذا المحتوى بعنصر ol سيضيف معلومات هيكلية مناسبة للوثيقة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "هيكل العنوان غير متداخل بشكل منطقي. يبدو أن هذا العنصر h{{headingNum}} هو العنوان الرئيسي للوثيقة، لذا يجب أن يكون عنصر h1.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "تم العثور على علامة عنوان بدون محتوى. النص الذي لا يُقصد كعنوان يجب ألا يتم وضع علامة عليه بعلامات العنوان.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "إذا كان هذا العنصر يحتوي على قسم تنقل، يُوصى بأن يتم وضع علامة عليه كقائمة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "يبدو أن هذا الجدول جدول تخطيط. إذا كان يُقصد به أن يكون جدول بيانات بدلاً من ذلك، تأكد من التعرف على خلايا العنوان باستخدام عناصر th.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "يبدو أن هذا الجدول جدول بيانات. إذا كان يُقصد به أن يكون جدول تخطيط بدلاً من ذلك، تأكد من عدم وجود عناصر th، ولا ملخص أو عنوان.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "تحقق من أن المحتوى مرتب بتسلسل ذي معنى عند تحويله إلى شكل خطي، مثل عند تعطيل أوراق الأنماط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "عند تقديم التعليمات لفهم المحتوى، لا تعتمد فقط على الخصائص الحسية (مثل الشكل، الحجم أو الموقع) لوصف الأشياء.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "تحقق من أن المحتوى لا يحد من عرضه وتشغيله إلى اتجاه عرض واحد، مثل العمودي أو الأفقي، ما لم يكن اتجاه العرض المحدد ضروريًا.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "يحتوي هذا العنصر على قيمة محتملة الخطأ في سمة التكميل التلقائي: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم نصية.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم متعددة الخطوط.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم كلمات المرور.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم الرابط.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم الهاتف.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم رقمية.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم شهر.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "قيمة التكميل التلقائي غير صالحة: {{x}}. العنصر لا ينتمي إلى مجموعة تحكم تاريخ.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "تحقق من أن حقل الإدخال يخدم غرضًا محددًا في قسم أغراض الإدخال لمكونات واجهة المستخدم؛ وأن المحتوى مطبق باستخدام التقنيات الداعمة لتحديد المعنى المتوقع لبيانات الإدخال الخاصة بالنموذج.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "هذا العنصر لا يحتوي على سمة التكميل التلقائي. إذا كان هذا الحقل يجمع معلومات عن المستخدم، ففكر في إضافة واحدة للامتثال لهذا المعيار الناجح.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "تحقق من أن غرض مكونات واجهة المستخدم، والأيقونات، والمناطق يمكن تحديده برمجيًا.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "تحقق من أن أي معلومات يتم نقلها باستخدام اللون وحده متاحة أيضًا في النص، أو من خلال إشارات بصرية أخرى.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "تحقق من أن المحتوى يمكن تقديمه بدون فقدان المعلومات أو الوظيفة، وبدون الحاجة إلى التمرير في بُعدين لـ: التمرير الرأسي للمحتوى بعرض مكافئ لـ 320 بكسل CSS؛ التمرير الأفقي للمحتوى بارتفاع مكافئ لـ 256 بكسل CSS؛ باستثناء الأجزاء من المحتوى التي تتطلب تخطيطًا ثنائي الأبعاد للاستخدام أو المعنى.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: "هذا العنصر يحتوي على 'position: fixed'. قد يتطلب هذا التمرير في بعدين، وهو ما يعتبر فشلًا لهذا المعيار الناجح.", helpUrl: [], @@ -876,687 +927,722 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "قد يتطلب النص المنسق التمرير في بعدين، وهو ما يعتبر فشلاً لهذا المعيار الناجح.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "التدخل في قدرة وكيل المستخدم على التكبير قد يكون فشلاً لهذا المعيار الناجح.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "تحقق من أن العرض البصري للعناصر التالية يحتوي على نسبة تباين لوني لا تقل عن 3:1 مقابل اللون المجاور(الألوان): مكونات واجهة المستخدم: المعلومات البصرية المطلوبة لتحديد مكونات وحالات واجهة المستخدم، باستثناء المكونات الغير نشطة أو عندما يتم تحديد مظهر المكون بواسطة وكيل المستخدم ولا يتم تعديله بواسطة المؤلف؛ الأشياء الرسومية: أجزاء من الرسومات اللازمة لفهم المحتوى، باستثناء عندما تكون عرض الرسومات معين بشكل أساسي للمعلومات المنقولة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "تحقق من عدم وجود فقدان للمحتوى أو الوظيفة عن طريق تعيين كل مما يلي وعدم تغيير أي خاصية أسلوب أخرى: ارتفاع الخط (مسافة الخط) إلى ما لا يقل عن 1.5 مرات حجم الخط؛ مسافة التالية للفقرات إلى ما لا يقل عن 2 مرة حجم الخط؛ التباعد بين الأحرف (تتبع) إلى ما لا يقل عن 0.12 مرة حجم الخط؛ تباعد الكلمات إلى ما لا يقل عن 0.16 مرة حجم الخط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "تحقق من أنه عند استقبال ثم إزالة تمرير المؤشر أو التركيز بلوحة المفاتيح يتسبب في ظهور محتوى إضافي ثم يختفي، الشروط التالية صحيحة: يمكن إلغاء: التسليم متاح لإلغاء المحتوى الإضافي دون تحريك تمرير المؤشر أو التركيز بلوحة المفاتيح، ما لم يتم التواصل مع خطأ في الإدخال أو لا يحجب أو يستبدل المحتوى الآخر؛ قابل للتمرير عليه: إذا يمكن لتمرير المؤشر تفعيل المحتوى الإضافي، فإن المؤشر يمكن تحريكه فوق المحتوى الإضافي دون اختفاء المحتوى الإضافي؛ مستمر: المحتوى الإضافي يظل ظاهراً حتى يتم إزالة محفز التمرير أو التركيز، أو يقوم المستخدم بإلغائه، أو تصبح معلوماته غير صالحة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "إذا احتوى هذا العنصر على صوت يتم تشغيله تلقائيًا لأكثر من 3 ثوان، تحقق من وجود القدرة على إيقاف الصوت مؤقتًا، أو إيقافه، أو كتم الصوت.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "نص هذا العنصر موضوع على تدرج. تأكد من أن نسبة التباين بين النص وجميع الأجزاء المغطاة من التدرج على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "هذا العنصر موضوع بشكل مطلق ولا يمكن تحديد لون الخلفية. تأكد من أن نسبة التباين بين النص وجميع الأجزاء المغطاة من الخلفية على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "نص هذا العنصر موضوع على صورة خلفية. تأكد من أن نسبة التباين بين النص وجميع الأجزاء المغطاة من الصورة على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "نص أو خلفية هذا العنصر يحتوي على شفافية. تأكد من أن نسبة التباين بين النص والخلفية على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "تحقق من أن هذا العنصر يحتوي على لون خلفية موروث لاستكمال لون الخلفية أو الصورة المضمنة المتناظرة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "تحقق من أن هذا العنصر يحتوي على لون خلفية أو صورة موروثة لاستكمال لون الخلفية المضمنة المتناظرة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "تحقق من أن النص يمكن تغيير حجمه بدون تقنية مساعدة حتى 200 في المائة دون فقدان المحتوى أو الوظيفة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "إذا كانت التقنيات المستخدمة يمكن أن تحقق العرض البصري، تحقق من استخدام النص لنقل المعلومات بدلاً من صور النص، إلا عندما تكون صورة النص ضرورية للمعلومات المنقولة، أو يمكن تخصيصها بصريًا لمتطلبات المستخدم.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "هذا العنصر موضوع بشكل مطلق ولا يمكن تحديد لون الخلفية. تأكد من أن نسبة التباين بين النص وجميع الأجزاء المغطاة من الخلفية على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "نص هذا العنصر موضوع على صورة خلفية. تأكد من أن نسبة التباين بين النص وجميع الأجزاء المغطاة من الصورة على الأقل {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "بالنسبة للمحتوى الصوتي المسجل فقط في هذا العنصر والذي يتكون أساسًا من كلام (مثل التعليق الصوتي)، يجب أن تكون أي أصوات خلفية قابلة للكتم، أو أن تكون أخف بمقدار 20 ديسيبل (أو حوالي 4 أضعاف) من الكلام.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "تحقق من وجود آلية متاحة للمستخدم لاختيار ألوان الخلفية والنص الأمامية لكتل النص، إما من خلال صفحة الويب أو المتصفح.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "تحقق من وجود آلية لتقليل عرض كتلة النص إلى لا أكثر من 80 حرفًا (أو 40 بالنسبة للكتابة باللغات الصينية، اليابانية أو الكورية).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "تحقق من أن كتل النص ليست مبررة بالكامل - أي، إلى حواف اليمين واليسار - أو أن يكون هناك آلية متوفرة لإزالة التبرير الكامل.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "تحقق من أن تباعد الأسطر في كتل النص على الأقل 150% في الفقرات، وتباعد الفقرات على الأقل 1.5 مرة من تباعد الأسطر، أو أن يكون هناك آلية متاحة لتحقيق ذلك.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "تحقق من أنه يمكن تغيير حجم النص بدون تقنية مساعدة حتى 200 في المائة دون تطلب من المستخدم التمرير أفقيًا على نافذة ملء الشاشة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "تحقق من أن صور النص تُستخدم فقط للزينة البحتة أو عندما تكون العرض المحدد للنص ضروريًا للمعلومات المنقولة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "تأكد من توفر الوظائف التي يوفرها معالج الأحداث لهذا العنصر من خلال لوحة المفاتيح", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "تأكد من توفر الوظائف التي يوفرها النقر المزدوج على هذا العنصر من خلال لوحة المفاتيح.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "تأكد من توفر الوظائف التي يوفرها تمرير الماوس فوق هذا العنصر من خلال لوحة المفاتيح؛ على سبيل المثال، باستخدام حدث التركيز.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "تأكد من توفر الوظائف التي يوفرها تمرير الماوس خارج هذا العنصر من خلال لوحة المفاتيح؛ على سبيل المثال، باستخدام حدث الغموض.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "تأكد من توفر الوظائف التي يوفرها تحريك الماوس على هذا العنصر من خلال لوحة المفاتيح.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "تأكد من توفر الوظائف التي يوفرها الضغط بالماوس على هذا العنصر من خلال لوحة المفاتيح؛ على سبيل المثال، باستخدام حدث keydown.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "تأكد من توفر الوظائف التي يوفرها رفع الماوس عن هذا العنصر من خلال لوحة المفاتيح؛ على سبيل المثال، باستخدام حدث keyup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "تحقق من أن هذا البرنامج الإضافي أو التطبيق يوفر القدرة على نقل التركيز بعيدًا عن نفسه عند استخدام لوحة المفاتيح.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "تحقق من أنه إذا تم تطبيق اختصار لوحة المفاتيح في المحتوى باستخدام أحرف (بما في ذلك الأحرف الكبيرة والصغيرة)، علامات الترقيم، أرقام، أو رموز الأحرف فقط، فإن واحدًا على الأقل مما يلي صحيح: إيقاف: توفر آلية لإيقاف الاختصار؛ إعادة تعيين: توفر آلية لإعادة تعيين الاختصار لاستخدام واحد أو أكثر من أحرف لوحة المفاتيح غير القابلة للطباعة (مثل Ctrl، Alt، إلخ)؛ نشط فقط عند التركيز: اختصار لوحة المفاتيح لمكون واجهة المستخدم نشط فقط عندما يتم التركيز على ذلك المكون.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "يتم استخدام وسم التحديث التلقائي للانتقال إلى صفحة أخرى، مع حد زمني ليس صفرًا. لا يمكن للمستخدمين التحكم في هذا الحد الزمني.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "يتم استخدام وسم التحديث التلقائي لتحديث الصفحة الحالية. لا يمكن للمستخدمين التحكم في الحد الزمني لهذا التحديث.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "إذا تحرك أي جزء من المحتوى، أو تمرير أو وميض لأكثر من 5 ثوانٍ، أو تم تحديثه تلقائيًا، تحقق من وجود آلية متاحة لإيقاف، أو إيقاف، أو إخفاء المحتوى.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "تأكد من وجود آلية متاحة لإيقاف هذا العنصر الوامض في أقل من خمس ثوان.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "لا يمكن لعناصر الوميض تلبية الشرط الذي ينص على أن المعلومات الوامضة يمكن إيقافها في غضون خمس ثوان.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "تحقق من أن التوقيت ليس جزءًا أساسيًا من الحدث أو النشاط الذي يقدمه المحتوى، باستثناء الوسائط المتزامنة غير التفاعلية والأحداث الزمنية الفعلية.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "تحقق من أن جميع الانقطاعات (بما في ذلك التحديثات للمحتوى) يمكن تأجيلها أو قمعها بواسطة المستخدم، باستثناء الانقطاعات التي تتضمن حالة طارئة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "إذا كانت هذه الصفحة الويب جزءًا من مجموعة صفحات ويب بها حد زمني للخمول، تحقق من أن المستخدم المصادق يمكنه متابعة النشاط دون فقدان البيانات بعد إعادة المصادقة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "تحقق من أن المستخدمين يتم تحذيرهم من مدة أي خمول للمستخدم قد يتسبب في فقدان البيانات، ما لم يتم الحفاظ على البيانات لأكثر من 20 ساعة عندما لا يتخذ المستخدم أي إجراءات.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "تحقق من أن أي مكون من مكونات المحتوى لا يومض أكثر من ثلاث مرات في أي فترة مدتها ثانية واحدة، أو أن حجم أي منطقة وامضة صغير بما فيه الكفاية.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "تحقق من أن أي مكون من مكونات المحتوى لا يومض أكثر من ثلاث مرات في أي فترة مدتها ثانية واحدة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "تحقق من أن حركة الرسوم المتحركة التي يتم تفعيلها بالتفاعل يمكن تعطيلها، ما لم تكن الرسوم المتحركة ضرورية للوظيفة أو المعلومات المنقولة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "يتطلب عنصر الإطار iframe وجود سمة عنوان غير فارغة تحدد الإطار.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "تحقق من أن سمة العنوان لهذا العنصر تحتوي على نص يحدد الإطار.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "تأكد من أنه يمكن تجاوز أي عناصر تنقل مشتركة؛ على سبيل المثال، باستخدام روابط التخطي، عناصر الرأس، أو أدوار علامة ARIA.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: "هذا الرابط يشير إلى مرساة مسماة '{{id}}' داخل المستند، ولكن لا يوجد مرساة موجودة بهذا الاسم.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: "هذا الرابط يشير إلى مرساة مسماة '{{id}}' داخل المستند، ولكن لا يوجد مرساة موجودة بهذا الاسم في الجزء المختبر.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "لا يوجد قسم رأس فيه لوضع عنصر عنوان وصفي.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "يجب توفير عنوان للمستند، باستخدام عنصر عنوان غير فارغ في قسم الرأس.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "يجب أن يكون عنصر العنوان في قسم الرأس غير فارغ.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "تحقق من أن عنصر العنوان يصف المستند.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "إذا تم استخدام tabindex، تحقق من أن الترتيب التبويب المحدد بواسطة سمات tabindex يتبع العلاقات في المحتوى.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "تحقق من أن نص الرابط مقرونًا بسياق الرابط المحدد برمجيًا، أو سمة العنوان الخاصة به، تحدد غرض الرابط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "تحقق من أن نص الرابط مقرونًا بسياق الرابط المحدد برمجيًا يحدد غرض الرابط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "إذا لم تكن هذه الصفحة الويب جزءًا من عملية خطية، تحقق من وجود أكثر من طريقة لتحديد موقع هذه الصفحة الويب ضمن مجموعة من صفحات الويب.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "تحقق من أن العناوين والتسميات توضح الموضوع أو الغرض.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "تحقق من وجود وضع تشغيل واحد على الأقل حيث يمكن تحديد مؤشر التركيز باستخدام لوحة المفاتيح بصريًا على عناصر واجهة المستخدم.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "يمكن تحديد عناصر الرابط في قسم الرأس من المستند فقط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "عنصر الرابط يفتقد إلى سمة rel غير فارغة تحدد نوع الرابط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "عنصر الرابط يفتقد إلى سمة href غير فارغة تشير إلى المورد المرتبط.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "تحقق من أن نص الرابط يصف غرض الرابط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "تحقق من أن جميع الوظائف التي تستخدم الإيماءات المتعددة النقاط أو المسار يمكن تشغيلها بمؤشر واحد دون إيماءة مبنية على مسار، ما لم تكن الإيماءة متعددة النقاط أو المسار ضرورية.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "تحقق من أنه بالنسبة للوظائف التي يمكن تشغيلها باستخدام مؤشر واحد، يكون واحد على الأقل مما يلي صحيحًا: لا يتم استخدام حدث الضغط: لا يتم استخدام حدث الضغط للمؤشر لتنفيذ أي جزء من الوظيفة؛ إلغاء أو تراجع: يكون إكمال الوظيفة عند حدث الرفع، وتتوفر آلية لإلغاء الوظيفة قبل الإكمال أو للتراجع عن الوظيفة بعد الإكمال؛ عكس حدث الرفع: حدث الرفع يعكس أي نتيجة لحدث الضغط السابق؛ ضروري: إكمال الوظيفة عند حدث الضغط ضروري.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "هذا العنصر لديه مستمع لحدث mousedown. تحقق من أنه بالنسبة للوظائف التي يمكن تشغيلها باستخدام مؤشر واحد، يكون واحد على الأقل مما يلي صحيحًا: لا يتم استخدام حدث الضغط: لا يتم استخدام حدث الضغط للمؤشر لتنفيذ أي جزء من الوظيفة؛ إلغاء أو تراجع: يكون إكمال الوظيفة عند حدث الرفع، وتتوفر آلية لإلغاء الوظيفة قبل الإكمال أو للتراجع عن الوظيفة بعد الإكمال؛ عكس حدث الرفع: حدث الرفع يعكس أي نتيجة لحدث الضغط السابق؛ ضروري: إكمال الوظيفة عند حدث الضغط ضروري.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "هذا العنصر لديه مستمع لحدث touchstart. تحقق من أنه بالنسبة للوظائف التي يمكن تشغيلها باستخدام مؤشر واحد، يكون واحد على الأقل مما يلي صحيحًا: لا يتم استخدام حدث الضغط: لا يتم استخدام حدث الضغط للمؤشر لتنفيذ أي جزء من الوظيفة؛ إلغاء أو تراجع: يكون إكمال الوظيفة عند حدث الرفع، وتتوفر آلية لإلغاء الوظيفة قبل الإكمال أو للتراجع عن الوظيفة بعد الإكمال؛ عكس حدث الرفع: حدث الرفع يعكس أي نتيجة لحدث الضغط السابق؛ ضروري: إكمال الوظيفة عند حدث الضغط ضروري.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "تحقق من أنه بالنسبة لعناصر واجهة المستخدم التي تحتوي على تسميات تشمل نصًا أو صورًا للنص، يحتوي الاسم على النص المقدم بصريًا.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "الاسم القابل للوصول لهذا العنصر لا يحتوي على نص التسمية المرئي. تحقق من أنه بالنسبة لعناصر واجهة المستخدم التي تحتوي على تسميات تشمل نصًا أو صورًا للنص، يحتوي الاسم على النص المقدم بصريًا.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "تحقق من أن الوظائف التي يمكن تشغيلها عن طريق حركة الجهاز أو حركة المستخدم يمكن أيضًا تشغيلها عن طريق عناصر واجهة المستخدم ويمكن تعطيل الاستجابة للحركة لمنع التشغيل العرضي، إلا عندما: تستخدم واجهة مدعومة: يتم استخدام الحركة لتشغيل الوظيفة من خلال واجهة مدعومة بالوصول؛ ضروري: الحركة ضرورية للوظيفة والقيام بذلك سيبطل النشاط.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "هذا العنصر لديه مستمع لحدث devicemotion. تحقق من أن الوظائف التي يمكن تشغيلها عن طريق حركة الجهاز أو حركة المستخدم يمكن أيضًا تشغيلها عن طريق عناصر واجهة المستخدم ويمكن تعطيل الاستجابة للحركة لمنع التشغيل العرضي، إلا عندما: تستخدم واجهة مدعومة: يتم استخدام الحركة لتشغيل الوظيفة من خلال واجهة مدعومة بالوصول؛ ضروري: الحركة ضرورية للوظيفة والقيام بذلك سيبطل النشاط.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "تحقق من أن حجم الهدف لمدخلات المؤشر لا يقل عن 44 في 44 بكسل CSS، إلا عندما: مكافئ: يتوفر الهدف من خلال رابط مكافئ أو عنصر تحكم على نفس الصفحة والذي يبلغ حجمه على الأقل 44 في 44 بكسل CSS؛ داخل النص: يكون الهدف في جملة أو كتلة من النص؛ تحكم وكيل المستخدم: يتم تحديد حجم الهدف بواسطة وكيل المستخدم ولا يتم تعديله بواسطة المؤلف؛ ضروري: عرض الهدف بطريقة معينة ضروري لنقل المعلومات.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "تحقق من أن المحتوى لا يقيد استخدام وسائط الإدخال المتاحة على منصة ما إلا عندما يكون القيد ضروريًا، أو مطلوبًا لضمان أمان المحتوى، أو مطلوبًا لاحترام إعدادات المستخدم.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "يجب أن يحتوي عنصر html على سمة lang أو xml:lang تصف لغة المستند.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "اللغة المحددة في سمة lang لعنصر المستند لا تبدو مكتوبة بشكل صحيح.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "اللغة المحددة في سمة xml:lang لعنصر المستند لا تبدو مكتوبة بشكل صحيح.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "تأكد من تمييز أي تغيير في اللغة باستخدام سمة اللغة lang و/أو xml:lang على عنصر، حسب الاقتضاء.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "اللغة المحددة في سمة اللغة lang لهذا العنصر لا تبدو مكتوبة بشكل صحيح.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "اللغة المحددة في سمة xml:lang لهذا العنصر لا تبدو مكتوبة بشكل صحيح.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "تحقق من توفر آلية لتحديد التعريفات الخاصة بكلمات أو عبارات تُستخدم بطريقة غير عادية أو محدودة، بما في ذلك الاصطلاحات والجargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "تحقق من توفر آلية لتحديد الشكل الموسع أو معنى الاختصارات.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "حيث يتطلب المحتوى قدرة قراءة أكثر تقدمًا من مستوى التعليم الثانوي الأدنى، يجب توفير محتوى إضافي أو نسخة بديلة.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "عنصر Ruby لا يحتوي على عنصر rt يحتوي على معلومات النطق لنصه.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "عنصر Ruby لا يحتوي على عنصر rt يحتوي على معلومات النطق للنص داخل عنصر rb.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "عنصر Ruby لا يحتوي على عناصر rp، التي توفر علامات ترقيم إضافية إلى المتصفحات التي لا تدعم نص ruby.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "تحقق من أن تغيير السياق لا يحدث عندما يتلقى هذا الحقل المدخل التركيز.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'هذا النموذج لا يحتوي على زر إرسال، مما يخلق مشاكل لأولئك الذين لا يستطيعون إرسال النموذج باستخدام لوحة المفاتيح. أزرار الإرسال هي عناصر INPUT مع سمة النوع "submit" أو "image"، أو عناصر BUTTON مع نوع "submit" أو مُهمل/غير صالح.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "تحقق من أن آليات التنقل المتكررة على صفحات ويب متعددة تحدث بنفس الترتيب النسبي في كل مرة يتم تكرارها، ما لم يبادر المستخدم بتغيير.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "تحقق من أن المكونات التي لها نفس الوظيفة ضمن هذه الصفحة الويب محددة بشكل متسق في مجموعة الصفحات الويب التي تنتمي إليها.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "تحقق من أن نص الرابط هذا يحتوي على معلومات تشير إلى أن الرابط سيفتح في نافذة جديدة.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "إذا تم اكتشاف خطأ في الإدخال تلقائيًا في هذا النموذج، تحقق من تحديد العنصر(العناصر) المعني(المعنية) بالخطأ ووصف الخطأ(أخطاء) للمستخدم بنص.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "تحقق من توفير تسميات واصفة أو تعليمات (بما في ذلك للحقول المطلوبة) لإدخال المستخدم في هذا النموذج.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "تحقق من أن هذا النموذج يوفر تصحيحات مقترحة لأخطاء إدخال المستخدم، ما لم يعرض ذلك الأمان أو الغرض من المحتوى للخطر.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "إذا كان هذا النموذج سيُلزم المستخدم بالتزام مالي أو قانوني، أو يعدل/يحذف بيانات يمكن للمستخدم التحكم فيها، أو يقدم استجابات للاختبار، فتأكد من أن الإرساليات إما قابلة للعكس، أو تم التحقق منها بحثًا عن أخطاء الإدخال، و/أو تم تأكيدها من قبل المستخدم.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "تحقق من توفر المساعدة الحساسة للسياق لهذا النموذج، على مستوى صفحة الويب و/أو على مستوى التحكم.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "تحقق من أن الإرساليات لهذا النموذج إما قابلة للعكس، أو تم التحقق منها بحثًا عن أخطاء في الإدخال، و/أو تم تأكيدها من قبل المستخدم.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "تم العثور على عنصر الرابط مع معرف ولكن بدون href أو نص رابط. فكر في نقل معرفه إلى عنصر أصل أو قريب.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "تم العثور على عنصر الرابط بصفة اسم ولكن بدون href أو نص رابط. فكر في نقل الصفة الاسمية لتصبح معرفاً لعنصر أصل أو قريب.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "تم العثور على عنصر الرابط بدون محتوى رابط ولا صفة اسم و/أو معرف.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "يجب عدم استخدام عناصر الربط لتحديد أهداف ربط داخل الصفحة. إذا لم تستخدم المعرف لأغراض أخرى (مثل CSS أو البرمجة)، فكر في نقله إلى عنصر أصل.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "تم العثور على عنصر الرابط مع محتوى رابط، ولكن لم يتم توفير صفة href، معرف، أو اسم.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "تم العثور على عنصر الرابط مع صفة href صالحة، ولكن لم يتم توفير محتوى رابط.", helpUrl: [], @@ -1564,7 +1650,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "تحقق من أن رسائل الحالة يمكن تحديدها برمجيًا من خلال الدور أو الخواص بحيث يمكن تقديمها للمستخدم بواسطة تقنيات المساعدة دون تلقي التركيز.", helpUrl: [], diff --git a/kayle/lib/rules/da/htmlcs-rules.ts b/kayle/lib/rules/da/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/da/htmlcs-rules.ts +++ b/kayle/lib/rules/da/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/de/htmlcs-rules.ts b/kayle/lib/rules/de/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/de/htmlcs-rules.ts +++ b/kayle/lib/rules/de/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/en/htmlcs-rules.ts b/kayle/lib/rules/en/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/en/htmlcs-rules.ts +++ b/kayle/lib/rules/en/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/es/htmlcs-rules.ts b/kayle/lib/rules/es/htmlcs-rules.ts index e1d37471..e80f738a 100644 --- a/kayle/lib/rules/es/htmlcs-rules.ts +++ b/kayle/lib/rules/es/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "El elemento Img es el único contenido del enlace, pero falta el texto alternativo (alt). El texto alternativo debe describir el propósito del enlace.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "El elemento Img con el atributo alt vacío debe tener el atributo title ausente o vacío.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "El elemento Img está marcado para que sea ignorado por la Tecnología de Asistencia.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "El elemento Img falta de un atributo alt. Usa el atributo alt para especificar un texto alternativo corto.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Asegúrate de que el texto alternativo (alt) del elemento img sirva para el mismo propósito y presente la misma información que la imagen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "El botón de envío de la imagen falta de atributo alt. Especifica un texto alternativo que describa la función del botón, usando el atributo alt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Asegúrate de que el texto alternativo (alt) del botón de envio de la imagen identifique el propósito del botón.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "El elemento Area en un mapa de imágenes falta de un atributo alt. Cada elemento Area debe tener un texto alternativo que describa la función del área del mapa de imágenes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Asegúrate de que el texto alternativo del elemento Area sirva para el mismo propósito que la parte de la imagen del mapa de imágenes a la que se refiere.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "Si esta imagen no puede ser completamente descrita en un texto alternativo corto, asegúrate de que también haya disponible un texto alternativo largo, como en el texto del cuerpo o a través de un enlace.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "El elemento Img dentro de un enlace no debe usar un texto alternativo que duplique el contenido del texto del enlace.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "El elemento Img dentro de un enlace tiene un texto alternativo vacío o faltante cuando un enlace junto a él contiene texto de enlace. Considera la posibilidad de combinar los enlaces.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "El elemento Img dentro de un enlace no debe usar un texto alternativo que duplique el contenido de un enlace de texto junto a él.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "El elemento Img dentro de un enlace tiene un texto alternativo vacío o faltante cuando un enlace junto a él contiene texto de enlace. Considera la posibilidad de combinar los enlaces.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "El elemento Img dentro de un enlace no debe usar un texto alternativo que duplique el contenido de un enlace de texto junto a él.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Los elementos Object deben contener un texto alternativo después de que se agoten todas las demás alternativas.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Verifica que haya disponibles textos alternativos cortos (y, si corresponde, largos) para contenido no textual que sirva para el mismo propósito y presente la misma información.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Los elementos Applet deben contener un texto alternativo en el cuerpo del elemento, para navegadores que no soportan el elemento Applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Los elementos Applet deben contener un atributo alt, para proporcionar un texto alternativo a los navegadores que soportan el elemento pero no pueden cargar el applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Verifica que haya disponibles textos alternativos cortos (y, si corresponde, largos) para contenido no textual que sirva para el mismo propósito y presente la misma información.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "Si este objeto embebido contiene solo audio pregrabado y no se proporciona como alternativa para el contenido de texto, verifica que haya disponible una versión de texto alternativa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "Si este objeto embebido contiene solo video pregrabado y no se proporciona como alternativa para el contenido de texto, verifica que haya disponible una versión de texto alternativa, o se proporcione una pista de audio que presente la misma información.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "Si este objeto embebido contiene media sincronizada pregrabada y no se proporciona como alternativa para el contenido de texto, verifica que se proporcionen leyendas para el contenido de audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "Si este objeto embebido contiene media sincronizada pregrabada y no se proporciona como alternativa para el contenido de texto, verifica que se proporcione una descripción de audio de su video y/o una versión de texto alternativa del contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "Si este objeto embebido contiene media sincronizada, verifica que se proporcionen leyendas para el contenido de audio en vivo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "Si este objeto embebido contiene media sincronizada pregrabada, verifica que se proporcione una descripción de audio para su contenido de video.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "Si este objeto embebido contiene media sincronizada pregrabada, verifica que se proporcione una interpretación en lengua de señas para su audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "Si este objeto embebido contiene media sincronizada, y donde las pausas en el audio en primer plano no son suficientes para permitir que las descripciones de audio transmitan el sentido del video pregrabado, verifica que se proporcione una descripción de audio extendida, ya sea a través de la elaboración de guiones o una versión alternativa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "Si este objeto embebido contiene media sincronizada pregrabada o contenido solo de video, verifica que se proporcione una versión de texto alternativa del contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "Si este objeto embebido contiene solo contenido de audio en vivo, verifica que se proporcione una versión de texto alternativa del contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'El rol de este elemento es "presentation", pero contiene elementos secundarios con significado semántico.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'El atributo "for" de esta etiqueta contiene una ID para un elemento que no es un control de formulario. Asegúrate de que hayas ingresado la ID correcta para el elemento previsto.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'Este control de formulario tiene un atributo "title" que está vacío o contiene solo espacios. Se ignorará para fines de prueba de etiquetas.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'Este control de formulario tiene un atributo "aria-label" que está vacío o contiene solo espacios. Se ignorará para fines de prueba de etiquetas.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'Este control de formulario contiene un atributo aria-labelledby, sin embargo, incluye una ID "{{id}}" que no existe en un elemento. Se ignorará el atributo aria-labelledby para fines de prueba de etiquetas.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "Este campo de formulario oculto está etiquetado de alguna manera. No debe ser necesario etiquetar un campo de formulario oculto.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'Se pretende que este campo de formulario esté oculto (usando el atributo "hidden"), pero también está etiquetado de alguna manera. No debe ser necesario etiquetar un campo de formulario oculto.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'Este campo de formulario debería tener una etiqueta. Utiliza el elemento de etiqueta (ya sea con un atributo "for" o envuelto alrededor del campo de formulario), o los atributos "title", "aria-label" o "aria-labelledby" según corresponda.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Marcado presentacional obsoleto utilizado en HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Debería usarse marcado semántico para marcar el texto enfatizado o especial para que pueda ser determinado programáticamente.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Debería usarse marcado semántico para marcar el texto enfatizado o especial para que pueda ser determinado programáticamente.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Debería usarse marcado de encabezado si este contenido está destinado como encabezado.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "La celda de la tabla tiene un atributo de ámbito inválido. Los valores válidos son fila (row), columna (col), grupo de filas (rowgroup) o grupo de columnas (colgroup).", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Los atributos de ámbito en los elementos td que actúan como encabezados para otros elementos son obsoletos en HTML5. Utiliza en su lugar un elemento th.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Los atributos de ámbito en los elementos th son ambiguos en una tabla con múltiples niveles de encabezados. Utiliza el atributo headers en los elementos td en su lugar.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Verifica que el atributo headers en los elementos td sea correcto.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Atributo headers incorrecto en este elemento td. Se esperaba "{{expected}}", pero se encontró "{{actual}}".', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "La relación entre los elementos td y sus elementos th asociados no está definida. Como esta tabla tiene múltiples niveles de elementos th, debes utilizar el atributo headers en los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "No todos los elementos th en esta tabla contienen un atributo id. Estas celdas deben contener ids para que puedan ser referenciadas por los atributos headers de los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "No todos los elementos td en esta tabla contienen un atributo headers. Cada atributo headers debe enumerar los ids de todos los elementos th asociados con esa celda.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "La relación entre los elementos td y sus elementos th asociados no está definida. Utiliza either el atributo scope en los elementos th o el atributo headers en los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "No todos los elementos th en esta tabla contienen un atributo id. Estas celdas deben contener ids para que puedan ser referenciadas por los atributos headers de los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "No todos los elementos td en esta tabla contienen un atributo headers. Cada atributo headers debe enumerar los ids de todos los elementos th asociados con esa celda.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "No todos los elementos th en esta tabla tienen un atributo de ámbito. Estas celdas deben contener un atributo de ámbito para identificar su asociación con los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "La relación entre los elementos td y sus elementos th asociados no está definida. Utiliza either el atributo scope en los elementos th o el atributo headers en los elementos td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "Esta tabla parece ser utilizada para diseño, pero contiene un atributo summary. Las tablas de diseño no deben contener atributos summary, o, si se proporcionan, deben estar vacías.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "Si esta tabla es una tabla de datos, y tanto un atributo summary como un elemento de subtítulo (caption) están presentes, el summary no debe duplicar el subtítulo.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "Si esta tabla es una tabla de datos, verifica que el atributo summary describa la organización de la tabla o explique cómo utilizarla.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "Si esta tabla es una tabla de datos, considera utilizar el atributo summary del elemento table para dar una descripción general de esta tabla.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "Esta tabla parece ser utilizada para diseño, pero contiene un elemento de subtítulo (caption). Las tablas de diseño no deben contener subtítulos.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "Si esta tabla es una tabla de datos, verifica que el elemento de subtítulo (caption) describa correctamente esta tabla.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "Si esta tabla es una tabla de datos, considera agregar un elemento de subtítulo (caption) al elemento table para identificar esta tabla.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "El fieldset no contiene un elemento de leyenda (legend). Todos los fieldsets deben contener un elemento de leyenda que describa una descripción del grupo de campos.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "Si esta lista de selección contiene grupos de opciones relacionadas, deberían agruparse con el elemento optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "Si estos botones de radio o casillas de verificación requieren una descripción a nivel de grupo adicional, deberían estar contenidos dentro de un elemento fieldset.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "Este contenido parece estar simulando una lista desordenada usando texto plano. Si es así, marcar este contenido con un elemento ul agregaría información de estructura adecuada al documento.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "Este contenido parece estar simulando una lista ordenada usando texto plano. Si es así, marcar este contenido con un elemento ol agregaría información de estructura adecuada al documento.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "La estructura de encabezados no está anidada de forma lógica. Este elemento h{{headingNum}} parece ser el encabezado principal del documento, por lo que debería ser un elemento h1.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Se encontró una etiqueta de encabezado sin contenido. El texto que no está destinado a ser un encabezado no debe ser marcado con etiquetas de encabezado.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "Si este elemento contiene una sección de navegación, se recomienda que se marque como una lista.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "Esta tabla parece ser una tabla de diseño. Si en su lugar se supone que es una tabla de datos, asegúrate de que las celdas de encabezado se identifiquen utilizando elementos th.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "Esta tabla parece ser una tabla de datos. Si en su lugar se supone que es una tabla de diseño, asegúrate de no tener elementos th, y no hay summary o caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Verifica que el contenido esté ordenado en una secuencia significativa cuando se lo lineariza, por ejemplo, cuando las hojas de estilo están desactivadas.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Cuando se proporcionan instrucciones para comprender el contenido, no dependas únicamente de características sensoriales (como la forma, el tamaño o la ubicación) para describir objetos.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Verifica que el contenido no restrinja su vista y operación a una única orientación de pantalla, como retrato o paisaje, a menos que una orientación de pantalla específica sea esencial.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "Este elemento contiene un valor potencialmente inválido en su atributo autocomplete: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Text.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Multiline.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Password.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Url.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Telephone.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Valor de autocompletado inválido: {{x}}. El elemento no pertenece al grupo de control Numeric.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Verifica que el campo de entrada sirva a un propósito identificado en la sección Input Purposes for User Interface Components, y que el contenido se implemente utilizando tecnologías con soporte para identificar el significado esperado de los datos de entrada del formulario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "Este elemento no tiene un atributo de autocompletado. Si este campo recopila información sobre el usuario, considera agregar uno para cumplir con este Criterio de Éxito.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Verifica que el propósito de los componentes de interfaz de usuario, iconos y regiones se pueda determinar programáticamente.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Verifica que cualquier información transmitida utilizando solo el color también esté disponible en texto o a través de otras pistas visuales.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Verifica que el contenido se pueda presentar sin pérdida de información o funcionalidad, y sin requerir desplazamiento en dos dimensiones para: Contenido de desplazamiento vertical en un ancho equivalente a 320 píxeles CSS; Contenido de desplazamiento horizontal en una altura equivalente a 256 píxeles CSS; Excepto para las partes del contenido que requieren diseño en dos dimensiones para su uso o significado.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'Este elemento tiene "position: fixed". Esto puede requerir el desplazamiento en dos dimensiones, lo que se considera un fracaso de este Criterio de Éxito.', helpUrl: [], @@ -879,695 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "El texto preformateado puede requerir desplazamiento en dos dimensiones, lo que se considera un fracaso de este Criterio de Éxito.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interferir con la capacidad de un agente de usuario para hacer zoom puede ser un fracaso de este Criterio de Éxito.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Verifica que la presentación visual de lo siguiente tenga una relación de contraste de al menos 3:1 frente al color (o colores) adyacentes: Componentes de la Interfaz de Usuario: información visual requerida para identificar componentes y estados de la interfaz de usuario, excepto en componentes inactivos o donde la apariencia del componente es determinada por el agente de usuario y no modificada por el autor; Objetos Gráficos: partes de gráficos necesarias para entender el contenido, excepto cuando una presentación particular de los gráficos es esencial para la información transmitida.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Verificar que no se produce ninguna pérdida de contenido o funcionalidad estableciendo todo lo siguiente y sin cambiar ninguna otra propiedad de estilo: Espaciado entre líneas (interlineado) al menos 1,5 veces el tamaño de fuente; Espaciado entre párrafos siguientes de al menos 2 veces el tamaño de fuente; Espaciado entre letras (tracking) de al menos 0,12 veces el tamaño de fuente; Espaciado entre palabras de al menos 0,16 veces el tamaño de fuente.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Verifica que donde al recibir y luego eliminar el puntero de desplazamiento o el enfoque del teclado se activa contenido adicional para que se vuelva visible y luego oculto, se cumpla lo siguiente: Descartable: hay un mecanismo disponible para descartar el contenido adicional sin mover el puntero de desplazamiento o el enfoque del teclado, a menos que el contenido adicional comunique un error de entrada o no oscurezca ni reemplace otro contenido; Se puede desplazar el cursor: si el puntero de desplazamiento puede activar el contenido adicional, entonces el puntero se puede mover sobre el contenido adicional sin que el contenido adicional desaparezca; Persistente: el contenido adicional permanece visible hasta que se elimina el activador de enfoque o desplazamiento, el usuario lo descarta, o su información ya no es válida.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "Si este elemento contiene audio que se reproduce automáticamente durante más de 3 segundos, verifica que haya la posibilidad de pausar, detener o silenciar el audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_3_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "Este elemento está posicionado absolutamente y no se puede determinar el color de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas del fondo sea al menos de {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "El texto de este elemento se coloca sobre una imagen de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas de la imagen sea al menos de {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "El texto o el fondo de este elemento contienen transparencia. Asegúrate de que la relación de contraste entre el texto y el fondo sea de al menos de {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Verifica que este elemento tenga un color de primer plano heredado para complementar el color de fondo o la imagen en línea correspondiente.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Verifica que este elemento tenga un color de fondo o imagen heredado para complementar el color de primer plano en línea correspondiente.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Verifica que el texto se puede redimensionar sin tecnología de asistencia hasta el 200 por ciento sin pérdida de contenido o funcionalidad.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "Si las tecnologías utilizadas pueden lograr la presentación visual, verifica que se use el texto para transmitir información en lugar de imágenes de texto, excepto cuando la imagen de texto es esencial para la información transmitida o puede personalizarse visualmente para satisfacer las necesidades del usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "Este elemento está posicionado absolutamente y no se puede determinar el color de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas del fondo sea al menos de {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "El texto de este elemento se coloca sobre una imagen de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas de la imagen sea al menos de {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "Para contenido de audio pregrabado que sea principalmente habla (como narración) en este elemento, cualquier sonido de fondo debe ser silenciable o estar al menos 20 dB (o aproximadamente 4 veces) más silencioso que la habla.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Verifica que esté disponible un mecanismo para que el usuario seleccione colores de primer plano y de fondo para bloques de texto, ya sea a través de la página web o del navegador.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Verifica que exista un mecanismo para reducir el ancho de un bloque de texto a no más de 80 caracteres (o 40 en escritura china, japonesa o coreana).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Verifica que los bloques de texto no estén totalmente justificados - es decir, a ambos bordes izquierdo y derecho - o que exista un mecanismo para eliminar la justificación completa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Verifica que el espaciado entre líneas en bloques de texto sea al menos del 150% en párrafos, y que el espaciado entre párrafos sea al menos 1.5 veces el espaciado entre líneas, o que esté disponible un mecanismo para lograr esto.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Verifica que se pueda cambiar el tamaño del texto sin tecnología de asistencia hasta el 200 por ciento sin requerir que el usuario haga scroll horizontal en una ventana de pantalla completa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Verifica que las imágenes de texto solo se utilicen para pura decoración o cuando una presentación particular del texto es esencial para la información transmitida.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Asegúrate de que la funcionalidad proporcionada por un controlador de eventos para este elemento esté disponible a través del teclado.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Asegúrate de que la funcionalidad proporcionada al hacer doble clic en este elemento esté disponible a través del teclado.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Asegúrate de que la funcionalidad proporcionada por pasar el ratón por encima de este elemento esté disponible a través del teclado, por ejemplo, usando el evento de enfoque.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Asegúrate de que la funcionalidad proporcionada al sacar el ratón de este elemento esté disponible a través del teclado, por ejemplo, usando el evento de desenfoque.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Asegúrate de que la funcionalidad proporcionada al mover el ratón sobre este elemento esté disponible a través del teclado.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Asegúrate de que la funcionalidad proporcionada al presionar el botón del ratón sobre este elemento esté disponible a través del teclado, por ejemplo, usando el evento de tecla presionada.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Asegúrate de que la funcionalidad proporcionada al soltar el botón del ratón sobre este elemento esté disponible a través del teclado, por ejemplo, usando el evento de tecla liberada.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Verifica que esta applet o complemento proporciona la capacidad de alejar el enfoque de sí mismo al usar el teclado.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Verifica que, si se implementa un atajo de teclado en el contenido utilizando solamente letras (incluidas letras mayúsculas y minúsculas), puntuación, números, o caracteres de símbolo, entonces al menos una de las siguientes opciones es verdadera: Desactivar: un mecanismo está disponible para desactivar el atajo; Remapear: un mecanismo está disponible para remapear el atajo para usar uno o más caracteres del teclado no imprimibles (por ejemplo, Ctrl, Alt, etc.); Activo sólo con enfoque: el atajo del teclado para un componente de la interfaz de usuario solo está activo cuando ese componente tiene el enfoque.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Se utiliza la etiqueta de actualización automática meta para redireccionar a otra página, con un límite de tiempo distinto de cero. Los usuarios no pueden controlar este límite de tiempo.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Se utiliza la etiqueta de actualización automática meta para actualizar la página actual. Los usuarios no pueden controlar el límite de tiempo para esta actualización.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "Si alguna parte del contenido se mueve, se desplaza o parpadea durante más de 5 segundos, o se actualiza automáticamente, verifica que hay un mecanismo disponible para pausar, detener u ocultar el contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Asegúrate de que hay disponible un mecanismo para detener este elemento parpadeante en menos de cinco segundos.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Los elementos que parpadean no pueden cumplir con el requisito de que la información parpadeante pueda detenerse en menos de cinco segundos.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Verifica que el tiempo no sea una parte esencial del evento o actividad presentada por el contenido, excepto para medios sincronizados no interactivos y eventos en tiempo real.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Verifica que todas las interrupciones (incluidas las actualizaciones de contenido) se puedan posponer o suprimir por el usuario, excepto las interrupciones que involucren una emergencia.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "Si esta página web forma parte de un conjunto de páginas web con un límite de tiempo de inactividad, verifica que un usuario autenticado pueda continuar la actividad sin pérdida de datos después de volver a autenticarse.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Verifica que se advierta a los usuarios sobre la duración de cualquier inactividad del usuario que pueda causar pérdida de datos, a menos que los datos se conserven durante más de 20 horas cuando el usuario no realice ninguna acción.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Verifica que ningún componente del contenido parpadee más de tres veces en cualquier período de 1 segundo, o que el tamaño de cualquier área parpadeante sea suficientemente pequeño.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Verifica que ningún componente del contenido parpadee más de tres veces en cualquier período de 1 segundo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Verifica que se pueda desactivar la animación de movimiento desencadenada por la interacción, a menos que la animación sea esencial para la funcionalidad o la información transmitida.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "El elemento Iframe requiere un atributo de título no vacío que identifique el marco.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Verifica que el atributo de título de este elemento contiene texto que identifica el marco.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Asegúrate de que se puedan omitir cualquier elemento de navegación común; por ejemplo, mediante el uso de enlaces de omisión, elementos de encabezado o roles de punto de referencia ARIA.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'Este enlace apunta a un ancla con nombre "{{id}}" dentro del documento, pero no existe una ancla con ese nombre.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'Este enlace apunta a un ancla con nombre "{{id}}" dentro del documento, pero no existe una ancla con ese nombre en el fragmento probado.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "No hay una sección head en la cual colocar un elemento de título descriptivo.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "Se debe proporcionar un título para el documento, utilizando un elemento de título no vacío en la sección head.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "El elemento de título en la sección head debe ser no vacío.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Verifica que el elemento de título describe el documento.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "Si se usa tabindex, verifica que el orden de tabulación especificado por los atributos tabindex siga las relaciones en el contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Verifica que el texto del enlace combinado con el contexto de enlace determinado programáticamente, o su atributo de título, identifique el propósito del enlace.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Verifica que el texto del enlace combinado con el contexto de enlace determinado programáticamente identifique el propósito del enlace.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "Si esta página web no forma parte de un proceso lineal, verifica que haya más de una forma de ubicar esta página web dentro de un conjunto de páginas web.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Verifica que los encabezados y etiquetas describan el tema o propósito.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Verifica que haya al menos un modo de operación en el que el indicador de enfoque del teclado pueda ser localizado visualmente en los controles de la interfaz de usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Los elementos de enlace solo se pueden ubicar en la sección head del documento.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "El elemento de enlace no tiene un atributo rel no vacío que identifique el tipo de enlace.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "El elemento de enlace no tiene un atributo href no vacío que apunte al recurso al que se enlaza.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Verifica que el texto del enlace describe el propósito del enlace.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Verifica que toda la funcionalidad que utiliza gestos basados en puntos múltiples o en trazados de ruta para la operación pueda ser operada con un solo puntero sin un gesto basado en trazado de ruta, a menos que un gesto basado en puntos múltiples o en trazados de ruta sea esencial.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Verifica que para la funcionalidad que puede ser operada utilizando un solo puntero, al menos una de las siguientes opciones es verdadera: Sin evento de pulsación: El evento de pulsación del puntero no se utiliza para ejecutar ninguna parte de la función; Abortar o deshacer: La finalización de la función es en el evento de soltar, y hay un mecanismo disponible para abortar la función antes de la finalización o para deshacer la función después de la finalización; Reversión de soltar: El evento de soltar revierte cualquier resultado del evento de pulsación anterior; Esencial: Completar la función en el evento de pulsación es esencial.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "Este elemento tiene un escucha de evento mousedown. Verifica que, para la funcionalidad que puede ser operada utilizando un solo puntero, al menos una de las siguientes opciones es verdadera: Sin evento de pulsación: El evento de pulsación del puntero no se utiliza para ejecutar ninguna parte de la función; Abortar o deshacer: La finalización de la función es en el evento de soltar, y hay un mecanismo disponible para abortar la función antes de la finalización o para deshacer la función después de la finalización; Reversión de soltar: El evento de soltar revierte cualquier resultado del evento de pulsación anterior; Esencial: Completar la función en el evento de pulsación es esencial.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "Este elemento tiene un escucha de evento touchstart. Verifica que, para la funcionalidad que puede ser operada utilizando un solo puntero, al menos una de las siguientes opciones es verdadera: Sin evento de pulsación: El evento de pulsación del puntero no se utiliza para ejecutar ninguna parte de la función; Abortar o deshacer: La finalización de la función es en el evento de soltar, y hay un mecanismo disponible para abortar la función antes de la finalización o para deshacer la función después de la finalización; Reversión de soltar: El evento de soltar revierte cualquier resultado del evento de pulsación anterior; Esencial: Completar la función en el evento de pulsación es esencial.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Verifica que para los componentes de la interfaz de usuario con etiquetas que incluyen texto o imágenes de texto, el nombre contenga el texto que se presenta visualmente.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "El nombre accesible de este elemento no contiene el texto de la etiqueta visible. Verifica que para los componentes de la interfaz de usuario con etiquetas que incluyen texto o imágenes de texto, el nombre contenga el texto que se presenta visualmente.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Verifica que la funcionalidad que puede ser operada por el movimiento del dispositivo o del usuario también pueda ser operada por componentes de la interfaz de usuario, y que se pueda desactivar la respuesta al movimiento para prevenir activación accidental, excepto cuando: Interfaz soportada: El movimiento se utiliza para operar la funcionalidad a través de una interfaz de accesibilidad soportada; Esencial: El movimiento es esencial para la función y hacerlo invalidaría la actividad.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "Este elemento tiene un escucha de evento devicemotion. Verifica que la funcionalidad que puede ser operada por el movimiento del dispositivo o del usuario también pueda ser operada por componentes de la interfaz de usuario, y que se pueda desactivar la respuesta al movimiento para prevenir activación accidental, excepto cuando: Interfaz soportada: El movimiento se utiliza para operar la funcionalidad a través de una interfaz de accesibilidad soportada; Esencial: El movimiento es esencial para la función y hacerlo invalidaría la actividad.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Verifica que el tamaño del objetivo para las entradas de puntero sea al menos 44 por 44 píxeles CSS, excepto cuando: Equivalente: El objetivo está disponible a través de un enlace o control equivalente en la misma página que es al menos 44 por 44 píxeles CSS; En línea: El objetivo está en una oración o bloque de texto; Control de agente de usuario: El tamaño del objetivo está determinado por el agente de usuario y no es modificado por el autor; Esencial: Una presentación particular del objetivo es esencial para la información que se está transmitiendo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Verifica que el contenido no restrinja el uso de las modalidades de entrada disponibles en una plataforma, excepto cuando la restricción sea esencial, necesaria para garantizar la seguridad del contenido o necesaria para respetar las configuraciones del usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "El elemento html debe tener un atributo lang o xml:lang que describa el idioma del documento.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "El idioma especificado en el atributo lang del elemento del documento no parece estar bien formado.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "El idioma especificado en el atributo xml:lang del elemento del documento no parece estar bien formado.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Asegúrate de que cualquier cambio de idioma se marque utilizando el atributo lang y/o xml:lang en un elemento, según corresponda.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "El idioma especificado en el atributo lang de este elemento no parece estar bien formado.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "El idioma especificado en el atributo xml:lang de este elemento no parece estar bien formado.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Verifica que haya un mecanismo disponible para identificar definiciones específicas de palabras o frases utilizadas de manera inusual o restringida, incluidos los giros idiomáticos y la jerga.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Verifica que haya un mecanismo disponible para identificar la forma o el significado expandido de las abreviaturas.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Cuando el contenido requiera habilidades de lectura más avanzadas que el nivel de educación secundaria inferior, se debe proporcionar contenido complementario o una versión alternativa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "El elemento Ruby no contiene un elemento rt que contenga información de pronunciación para el texto del cuerpo.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "El elemento Ruby no contiene un elemento rt que contenga información de pronunciación para el texto dentro del elemento rb.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "El elemento Ruby no contiene elementos rp, que proporcionan puntuación adicional a los navegadores que no admiten texto ruby.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Verifica que no haya un cambio de contexto cuando este campo de entrada recibe el enfoque.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'Este formulario no contiene un botón de envío, lo que crea problemas para aquellos que no pueden enviar el formulario usando el teclado. Los botones de envío son elementos INPUT con atributo de tipo "submit" o "image", o elementos BUTTON con tipo "submit" o omitido/inválido.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Verifica que los mecanismos de navegación que se repiten en varias páginas web ocurran en el mismo orden relativo cada vez que se repiten, a menos que un cambio sea iniciado por el usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Verifica que los componentes que tienen la misma funcionalidad dentro de esta página web se identifiquen consistentemente en el conjunto de páginas web al que pertenece.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Verifica que el texto del enlace de este enlace contenga información que indique que el enlace se abrirá en una nueva ventana.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "Si se detecta automáticamente un error de entrada en este formulario, verifica que los elementos en error estén identificados y que el error se describa al usuario en texto.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Verifica que se proporcionen etiquetas o instrucciones descriptivas (incluyendo para campos obligatorios) para la entrada del usuario en este formulario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Verifica que este formulario proporcione correcciones sugeridas para errores en la entrada del usuario, a menos que comprometa la seguridad o el propósito del contenido.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "Si este formulario vinculara a un usuario a un compromiso financiero o legal, modificara/eliminara datos controlados por el usuario o enviara respuestas de prueba, asegúrate de que las presentaciones sean reversibles, verifiquen errores de entrada y/o sean confirmadas por el usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Verifica que la ayuda contextual esté disponible para este formulario, a nivel de página web y/o control.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Verifica que las presentaciones en este formulario sean reversibles, verifiquen errores de entrada y/o sean confirmadas por el usuario.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Se encontró un elemento de anclaje con un ID pero sin un href o texto de enlace. Considera mover su ID a un elemento padre o cercano.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Se encontró un elemento de anclaje con un atributo de nombre pero sin un href o texto de enlace. Considera mover el atributo de nombre para convertirlo en un ID de un elemento padre o cercano.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Se encontró un elemento de anclaje sin contenido de enlace y sin atributo de nombre e/o ID.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Los elementos de anclaje no deben ser usados para definir objetivos de enlace dentro de la página. Si no se está usando el ID para otros propósitos (como CSS o scripting), considera moverlo a un elemento padre.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Se encontró un elemento de anclaje con contenido de enlace, pero no se ha proporcionado un href, ID o atributo de nombre.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Se encontró un elemento de anclaje con un atributo href válido, pero no se ha proporcionado contenido de enlace.", helpUrl: [], @@ -1575,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Verifica que los mensajes de estado se puedan determinar de forma programática a través de roles o propiedades para que puedan presentarse al usuario mediante tecnologías de asistencia sin recibir el enfoque.", helpUrl: [], diff --git a/kayle/lib/rules/eu/htmlcs-rules.ts b/kayle/lib/rules/eu/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/eu/htmlcs-rules.ts +++ b/kayle/lib/rules/eu/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/fr/htmlcs-rules.ts b/kayle/lib/rules/fr/htmlcs-rules.ts index a775d60a..ab5e3786 100644 --- a/kayle/lib/rules/fr/htmlcs-rules.ts +++ b/kayle/lib/rules/fr/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,623 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "L'élément Img est le seul contenu du lien, mais il manque le texte alt. Le texte alternatif devrait décrire le but du lien.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "L'élément Img avec du texte alt vide doit avoir un attribut de titre absent ou vide.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "L'élément Img est marqué de sorte qu'il est ignoré par la technologie d'assistance.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Élément Img auquel il manque un attribut alt. Utilisez l'attribut alt pour spécifier une alternative de texte court.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Assurez-vous que le texte alt de l'élément img sert aux mêmes fins et présente les mêmes informations que l'image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Le bouton de soumission d'image n'a pas de texte alternatif. Spécifiez une alternative de texte qui décrit la fonction du bouton, en utilisant l'attribut alt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Assurez-vous que le texte alt du bouton de soumission d'image identifie le but du bouton.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Élément de zone dans une carte-image sans attribut alt. Chaque élément de zone doit avoir une alternative textuelle qui décrit la fonction de la zone de la carte image.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Assurez-vous que l'alternative textuelle de l'élément de zone sert le même but que la partie de l'image de la carte-image à laquelle il fait référence.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "Si cette image ne peut être entièrement décrite dans un texte court, assurez-vous qu'un texte long est également disponible, comme dans le corps du texte ou par le biais d'un lien.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "L'élément Img à l'intérieur d'un lien ne doit pas utiliser de texte alt qui duplique le contenu textuel du lien.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "L'élément Img à l'intérieur d'un lien a du texte alt vide ou manquant lorsqu'un lien à côté contient du texte de lien. Pensez à combiner les liens.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "L'élément Img à l'intérieur d'un lien ne doit pas utiliser de texte alt qui duplique le contenu d'un lien texte à côté.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "L'élément Img à l'intérieur d'un lien a du texte alt vide ou manquant lorsqu'un lien à côté contient du texte de lien. Pensez à combiner les liens.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "L'élément Img à l'intérieur d'un lien ne doit pas utiliser de texte alt qui duplique le contenu d'un lien texte à côté.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Les éléments d'objet doivent contenir une alternative de texte après l'épuisement de toutes les autres alternatives.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Vérifiez que des textes courts (et, le cas échéant, les longs) sont disponibles pour les contenus non textuels qui servent le même but et présentent la même information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Les éléments de l'applet doivent contenir une alternative textuelle dans le corps de l'élément, pour les navigateurs qui ne supportent pas l'élément applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Les éléments de l'applet doivent contenir un attribut alt, afin de fournir une alternative textuelle aux navigateurs supportant l'élément mais incapables de charger l'applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Vérifiez que des textes courts (et, le cas échéant, les longs) sont disponibles pour les contenus non textuels qui servent le même but et présentent la même information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "Si cet objet incorporé ne contient que de l'audio préenregistré et n'est pas fourni comme alternative pour le contenu textuel, vérifiez qu'une version texte alternative est disponible.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "Si cet objet incorporé ne contient que de la vidéo préenregistrée et n'est pas fourni comme alternative au contenu textuel, vérifiez qu'une version texte alternative est disponible, ou qu'une piste audio est fournie qui présente des informations équivalentes.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "Si cet objet incorporé contient un support synchronisé préenregistré et n'est pas fourni comme alternative pour le contenu textuel, vérifiez que les légendes sont fournies pour le contenu audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "Si cet objet incorporé contient un support synchronisé préenregistré et n'est pas fourni comme alternative au contenu textuel, vérifiez qu'une description audio de sa vidéo et/ou une version textuelle alternative du contenu est fournie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "Si cet objet incorporé contient des médias synchronisés, vérifiez que les légendes sont fournies pour le contenu audio en direct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "Si cet objet incorporé contient un support synchronisé préenregistré, vérifiez qu'une description audio est fournie pour son contenu vidéo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "Si cet objet incorporé contient un support synchronisé préenregistré, vérifiez qu'une interprétation en langage des signes est fournie pour l'audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "Si cet objet incorporé contient des médias synchronisés, et si les pauses dans l'audio de premier plan ne suffisent pas pour permettre aux descriptions audio de transmettre le sens de la vidéo préenregistrée, vérifiez qu'une description audio étendue est fournie, soit par le biais d'un script ou d'une autre version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "Si cet objet incorporé contient un média synchronisé pré-enregistré ou un contenu vidéo uniquement, vérifiez qu'une version texte alternative du contenu est fournie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "Si cet objet incorporé contient du contenu audio en direct, vérifiez qu'une version texte alternative du contenu est fournie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'Le rôle de cet élément est "présentation" mais contient des éléments enfants avec une signification sémantique.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: "L'attribut \"for\" de cette étiquette contient un ID pour un élément qui n'est pas un contrôle de formulaire. Assurez-vous d'avoir saisi l'ID correct pour l'élément prévu.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'Ce contrôle de formulaire a un attribut "title" qui est vide ou ne contient que des espaces. Il sera ignoré à des fins de test d\'étiquetage.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'Ce contrôle de formulaire possède un attribut "aria-label" qui est vide ou ne contient que des espaces. Il sera ignoré à des fins de test d\'étiquetage.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - "Ce contrôle de formulaire contient un attribut aria-labelledby, mais il inclut un ID \"{{id}}\" qui n'existe pas sur un élément. L'attribut aria-labelledby sera ignoré à des fins de test d'étiquetage.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "Ce champ de formulaire caché est étiqueté d'une manière ou d'une autre. Il ne devrait pas être nécessaire d'étiqueter un champ de formulaire caché.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: "Ce champ de formulaire est destiné à être masqué (à l'aide de l'attribut \"caché\"), mais il est également étiqueté d'une manière ou d'une autre. Il ne devrait pas être nécessaire d'étiqueter un champ de formulaire caché.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'Ce champ du formulaire doit être étiqueté d\'une manière ou d\'une autre. Utilisez l\'élément d\'étiquette (avec un attribut "for" ou enroulé autour du champ du formulaire), ou les attributs "title", "aria-label" ou "aria-labelledby" selon le cas.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Le balisage de présentation utilisé est devenu obsolète dans HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Le balisage sémantique doit être utilisé pour marquer un texte accentué ou un texte spécial afin qu'il puisse être déterminé par programmation.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Le balisage sémantique doit être utilisé pour marquer un texte accentué ou un texte spécial afin qu'il puisse être déterminé par programmation.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Une balise d'en-tête doit être utilisée si ce contenu est destiné à servir d'en-tête.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "La cellule de table a un attribut de portée invalide. Les valeurs valides sont ligne, col, groupe de lignes, groupe de lignes ou groupe de colonnes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Les attributs Scope sur les éléments td qui servent de titres pour d'autres éléments sont obsolètes dans HTML5. Utilisez un th élément à la place.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Les attributs de portée sur ces éléments sont ambigus dans un tableau à niveaux multiples d'en-têtes. Utilisez plutôt l'attribut headers sur les éléments td.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td element is correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'L\'attribut d\'en-tête incorrect sur cet élément td. Attendue "{{expected}}" mais trouvée "{{actual}}".', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "La relation entre les éléments td et leurs éléments associés n'est pas définie. Comme cette table a plusieurs niveaux de ces éléments, vous devez utiliser l'attribut headers sur les éléments td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Tous les éléments de cette table ne contiennent pas un attribut id. Ces cellules devraient contenir des ids de sorte qu'elles puissent être référencées par des éléments td attributs d'en-têtes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Tous les éléments td de cette table ne contiennent pas un attribut d'en-tête. Chaque attribut d'en-tête devrait énumérer les ids de tous les éléments associés à cette cellule.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "La relation entre les éléments td et leurs éléments associés n'est pas définie. Utilisez soit l'attribut scope sur ces éléments, soit l'attribut headers sur les éléments td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Tous les éléments de cette table ne contiennent pas un attribut id. Ces cellules devraient contenir des ids de sorte qu'elles puissent être référencées par des éléments td attributs d'en-têtes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Tous les éléments td de cette table ne contiennent pas un attribut d'en-tête. Chaque attribut d'en-tête devrait énumérer les ids de tous les éléments associés à cette cellule.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Tous les éléments de ce tableau n'ont pas tous un attribut de portée. Ces cellules doivent contenir un attribut scope pour identifier leur association avec les éléments td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "La relation entre les éléments td et leurs éléments associés n'est pas définie. Utilisez soit l'attribut scope sur ces éléments, soit l'attribut headers sur les éléments td.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "Ce tableau semble être utilisé pour la mise en page, mais contient un attribut résumé. Les tableaux de présentation ne doivent pas contenir d'attributs sommaires ou, s'ils sont fournis, doivent être vides.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "Si ce tableau est un tableau de données et qu'un attribut résumé et un élément de légende sont présents, le résumé ne doit pas dupliquer la légende.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "Si ce tableau est un tableau de données, vérifiez que l'attribut summary décrit l'organisation du tableau ou explique comment utiliser le tableau.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "Si ce tableau est un tableau de données, envisagez d'utiliser l'attribut résumé de l'élément de tableau pour donner une vue d'ensemble de ce tableau.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "Ce tableau semble être utilisé pour la mise en page, mais contient un élément de légende. Les tables de présentation ne doivent pas contenir de légendes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "Si ce tableau est un tableau de données, vérifiez que l'élément de légende décrit correctement ce tableau.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "Si ce tableau est un tableau de données, envisagez d'utiliser un élément de légende de l'élément de tableau pour identifier ce tableau.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset ne contient pas d'élément de légende. Tous les champs doivent contenir un élément de légende décrivant la description du groupe de champs.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "Si cette liste de sélection contient des groupes d'options connexes, ils doivent être regroupés avec le groupe optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "Si ces boutons radio ou cases à cocher nécessitent une description plus détaillée au niveau du groupe, ils doivent être contenus dans un élément de l'ensemble des champs.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "Ce contenu semble simuler une liste non ordonnée à l'aide de texte brut. Si c'est le cas, marquer ce contenu avec un élément ul ajouterait une information de structure appropriée au document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "Ce contenu semble simuler une liste ordonnée à l'aide de texte brut. Si c'est le cas, marquer ce contenu avec un élément ol ajouterait des informations de structure appropriées au document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "La structure d'en-tête n'est pas imbriquée logiquement. Cet élément h{{{headingNum}} semble être l'en-tête du document primaire, donc devrait être un élément h1.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Étiquette d'en-tête trouvée sans contenu. Le texte qui n'est pas destiné à servir d'en-tête ne doit pas être marqué avec des balises d'en-tête.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "Si cet élément contient une section de navigation, il est recommandé de le marquer comme une liste.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "Ce tableau semble être un tableau de présentation. S'il s'agit plutôt d'un tableau de données, assurez-vous que les cellules d'en-tête sont identifiées à l'aide de ces éléments.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "Ce tableau semble être un tableau de données. S'il s'agit plutôt d'un tableau de présentation, assurez-vous qu'il n'y a pas d'éléments, ni de résumé ou de légende\".", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Vérifiez que le contenu est ordonné dans un ordre significatif lorsqu'il est linéarisé, par exemple lorsque les feuilles de style sont désactivées.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Lorsque des instructions sont fournies pour comprendre le contenu, ne vous fiez pas uniquement aux caractéristiques sensorielles (telles que la forme, la taille ou l'emplacement) pour décrire les objets.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Vérifiez que le contenu ne limite pas son affichage et son fonctionnement à une seule orientation d'affichage, telle que portrait ou paysage, à moins qu'une orientation d'affichage spécifique ne soit essentielle.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "Cet élément contient une valeur potentiellement erronée dans son attribut d'autocomplétion : {{valuesStr}}. Voir https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Text')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Multiline')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Password')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Url')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Telephone')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Numeric')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Month')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Date')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Vérifiez que le champ de saisie répond à un objectif identifié dans la section Objectifs de saisie des composants de l'interface utilisateur ; et que le contenu est mis en œuvre à l'aide de technologies permettant d'identifier la signification attendue des données saisies dans le formulaire.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "Cet élément n'a pas d'attribut d'autocomplétion. Si ce champ recueille des informations sur l'utilisateur, envisagez d'en ajouter un pour respecter ce critère de réussite.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Vérifiez que l'objectif des composants de l'interface utilisateur, des icônes et des régions peut être déterminé par programme.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Vérifier que toute information véhiculée par la couleur seule est également disponible sous forme de texte ou d'autres repères visuels.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Vérifier que le contenu peut être présenté sans perte d'information ou de fonctionnalité, et sans qu'il soit nécessaire de le faire défiler en deux dimensions : Contenu à défilement vertical d'une largeur équivalente à 320 pixels CSS; Contenu à défilement horizontal d'une hauteur équivalente à 256 pixels CSS; A l'exception des parties du contenu qui nécessitent une mise en page en deux dimensions pour l'utilisation ou la signification.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'Cet élément a une "position: fixed". Cela peut nécessiter un défilement en deux dimensions, ce qui est considéré comme un échec de ce critère de réussite.', helpUrl: [], @@ -879,695 +926,731 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Le texte préformaté peut nécessiter un défilement en deux dimensions, ce qui est considéré comme un échec de ce critère de réussite.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interférer avec la capacité d'un agent utilisateur à zoomer peut être un échec de ce critère de réussite.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Vérifiez que la présentation visuelle des éléments suivants présente un rapport de contraste d'au moins 3:1 par rapport à la (aux) couleur(s) adjacente(s) : Composants de l'interface utilisateur : Informations visuelles nécessaires pour identifier les composants et les états de l'interface utilisateur, sauf pour les composants inactifs ou lorsque l'apparence du composant est déterminée par l'agent utilisateur et non modifiée par l'auteur; Objets graphiques : Parties de graphiques nécessaires pour comprendre le contenu, sauf lorsqu'une présentation particulière des graphiques est essentielle à l'information véhiculée. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Vérifiez qu'aucune perte de contenu ou de fonctionnalité ne se produit en définissant tous les éléments suivants et en ne modifiant aucune autre propriété de style: Hauteur de ligne (interligne) à au moins 1,5 fois la taille de la police; Espacement des paragraphes suivants à au moins 2 fois la taille de la police; Espacement des lettres (suivi) d'au moins 0,12 fois la taille de la police; Espacement des mots d'au moins 0,16 fois la taille de la police.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Vérifiez que lorsque la réception puis la suppression du survol du pointeur ou de la mise au point du clavier déclenche l'affichage puis le masquage de contenu supplémentaire, les points suivants sont vrais : A supprimer : Un mécanisme est disponible pour rejeter le contenu supplémentaire sans déplacer le pointeur ou le focus du clavier, sauf si le contenu supplémentaire communique une erreur de saisie ou ne masque pas ou ne remplace pas un autre contenu; Survolable : Si le survol du pointeur peut déclencher le contenu supplémentaire, alors le pointeur peut être déplacé sur le contenu supplémentaire sans que le contenu supplémentaire ne disparaisse; Persistant : Le contenu supplémentaire reste visible jusqu'à ce que le déclencheur de survol ou de mise au point soit supprimé, que l'utilisateur le rejette ou que ses informations ne soient plus valables ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "Si cet élément contient de l'audio qui joue automatiquement pendant plus de 3 secondes, vérifiez qu'il est possible de mettre en pause, d'arrêter ou de couper le son.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "Le texte de cet élément est placé sur une pente de fond. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'pente est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "Cet élément est absolument positionné et la couleur de fond ne peut pas être déterminée. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'arrière-plan est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "Le texte de cet élément est placé sur une image de fond. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'image est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "Le texte ou l'arrière-plan de cet élément contient de la transparence. Assurez-vous que le rapport de contraste entre le texte et l'arrière-plan est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Vérifiez que cet élément a une couleur d'avant-plan héritée pour compléter la couleur ou l'image d'arrière-plan en ligne correspondante.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Vérifiez que cet élément a une couleur ou une image d'arrière-plan héritée pour compléter la couleur d'avant-plan correspondante.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Vérifiez que le texte peut être redimensionné sans technologie d'assistance jusqu'à 200 pour cent sans perte de contenu ou de fonctionnalité.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "Si les technologies utilisées permettent d'obtenir une présentation visuelle, vérifiez que le texte est utilisé pour transmettre des informations plutôt que des images de texte, sauf lorsque l'image du texte est essentielle à l'information véhiculée, ou peut être visuellement adaptée aux besoins de l'utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: + "Le texte de cet élément est placé sur une pente de fond. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'pente est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "Cet élément est absolument positionné et la couleur de fond ne peut pas être déterminée. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'arrière-plan est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "Le texte de cet élément est placé sur une image de fond. Assurez-vous que le rapport de contraste entre le texte et toutes les parties couvertes de l'image est d'au moins {{nécessaire}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "Pour le contenu audio préenregistré de cet élément qui est principalement de la parole (comme la narration), tout bruit de fond devrait être muet, ou être au moins 20 dB (ou environ 4 fois plus silencieux que le discours).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Vérifiez qu'il existe un mécanisme permettant à l'utilisateur de sélectionner les couleurs d'avant-plan et d'arrière-plan pour les blocs de texte, soit par l'intermédiaire de la page Web ou du navigateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Vérifiez qu'il existe un mécanisme permettant de réduire la largeur d'un bloc de texte à un maximum de 80 caractères (ou 40 en caractères chinois, japonais ou coréen).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Vérifiez que les blocs de texte ne sont pas entièrement justifiés - c'est-à-dire à gauche et à droite - ou qu'il existe un mécanisme pour supprimer toute justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Vérifiez que l'interligne dans les blocs de texte est d'au moins 150% dans les paragraphes et que l'interligne est d'au moins 1,5 fois l'interligne ou qu'il existe un mécanisme pour y parvenir.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Vérifiez que le texte peut être redimensionné sans technologie d'assistance jusqu'à 200 pour cent sans que l'utilisateur ait besoin de faire défiler horizontalement sur une fenêtre plein écran.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Vérifier que les images de texte ne sont utilisées qu'à des fins de décoration pure ou lorsqu'une présentation particulière du texte est essentielle à l'information véhiculée.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "S'assurer que la fonctionnalité fournie par un gestionnaire d'événements pour cet élément est disponible par l'intermédiaire du clavier.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Assurez-vous que la fonctionnalité fournie en double-cliquant sur cet élément est disponible par l'intermédiaire du clavier.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Assurez-vous que la fonctionnalité fournie par la souris sur cet élément est disponible par l'intermédiaire du clavier, par exemple, en utilisant l'événement focus.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Assurez-vous que la fonctionnalité fournie par la souris hors de cet élément est disponible par le clavier ; par exemple, en utilisant l'événement flou.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Assurez-vous que la fonctionnalité fournie en déplaçant la souris sur cet élément est disponible par l'intermédiaire du clavier.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Assurez-vous que la fonctionnalité fournie par la souris sur cet élément est disponible par l'intermédiaire du clavier, par exemple, en utilisant l'événement keydown.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Assurez-vous que la fonctionnalité fournie par la souris sur cet élément est disponible par l'intermédiaire du clavier, par exemple, en utilisant l'événement keyup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Vérifiez que cette applet ou plugin permet d'éloigner le focus de lui-même lors de l'utilisation du clavier.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Vérifiez que si un raccourci clavier est implémenté dans un contenu utilisant uniquement des lettres (y compris les majuscules et les minuscules), de la ponctuation, des chiffres ou des symboles, alors au moins l'un des points suivants est vrai : Désactiver : Un mécanisme est disponible pour désactiver le raccourci : Remap : Un mécanisme est disponible pour redéfinir le raccourci afin d'utiliser un ou plusieurs caractères de clavier non imprimables (par exemple Ctrl, Alt, etc.); Actif uniquement pour la mise au point : Le raccourci clavier pour un composant de l'interface utilisateur n'est actif que lorsque ce composant a le focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag utilisé pour rediriger vers une autre page, avec une limite de temps qui n'est pas nulle. Les utilisateurs ne peuvent pas contrôler cette limite de temps.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag utilisé pour rafraîchir la page courante. Les utilisateurs ne peuvent pas contrôler la limite de temps pour ce rafraîchissement.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "Si une partie du contenu bouge, défile ou clignote pendant plus de 5 secondes, ou se met à jour automatiquement, vérifiez qu'il existe un mécanisme permettant de mettre en pause, d'arrêter ou de cacher le contenu.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "S'assurer qu'il existe un mécanisme permettant d'arrêter cet élément clignotant en moins de cinq secondes.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Les éléments clignotants ne peuvent pas satisfaire à l'exigence selon laquelle les informations clignotantes peuvent être arrêtées en moins de cinq secondes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Vérifier que le chronométrage n'est pas une partie essentielle de l'événement ou de l'activité présentée par le contenu, à l'exception des médias synchronisés non interactifs et des événements en temps réel.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Vérifier que toutes les interruptions (y compris les mises à jour du contenu) peuvent être reportées ou supprimées par l'utilisateur, à l'exception des interruptions impliquant une situation d'urgence.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "Si cette page Web fait partie d'un ensemble de pages Web avec une limite de temps d'inactivité, vérifiez qu'un utilisateur authentifié peut poursuivre l'activité sans perte de données après la ré-authentification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Vérifiez que les utilisateurs sont avertis de la durée de toute inactivité de l'utilisateur qui pourrait entraîner une perte de données, à moins que les données ne soient conservées pendant plus de 20 heures lorsque l'utilisateur n'entreprend aucune action.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Vérifier qu'aucun composant du contenu ne clignote plus de trois fois au cours d'une période d'une seconde ou que la taille de la zone de clignotement est suffisamment petite.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Vérifiez qu'aucun composant du contenu ne clignote plus de trois fois au cours d'une période d'une seconde.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Vérifiez que l'animation de mouvement déclenchée par l'interaction peut être désactivée, à moins que l'animation ne soit essentielle à la fonctionnalité ou à l'information véhiculée.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "L'élément Iframe nécessite un attribut de titre non vide qui identifie la trame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Vérifiez que l'attribut title de cet élément contient du texte qui identifie le cadre.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Veiller à ce que tous les éléments de navigation communs puissent être contournés ; par exemple, en utilisant des liens de saut, des éléments d'en-tête ou des rôles de repère ARIA.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'Ce lien pointe vers une ancre nommée "{{id}}" dans le document, mais aucune ancre n\'existe avec ce nom.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'Ce lien pointe vers une ancre nommée "{{id}}" dans le document, mais aucune ancre n\'existe avec ce nom dans le fragment testé.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "Il n'y a pas de section d'en-tête dans laquelle placer un élément de titre descriptif.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "Un titre devrait être fourni pour le document, en utilisant un élément de titre non vide dans la section d'en-tête.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "L'élément de titre de la section d'en-tête ne doit pas être vide.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Vérifier que l'élément de titre décrit le document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "Si tabindex est utilisé, vérifiez que l'ordre des onglets spécifié par les attributs de tabindex suit les relations dans le contenu.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Vérifiez que le texte du lien combiné avec le contexte du lien déterminé par le programme, ou son attribut de titre, identifie le but du lien.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Vérifiez que le texte du lien combiné avec le contexte du lien déterminé par le programme identifie le but du lien.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "Si cette page Web ne fait pas partie d'un processus linéaire, vérifiez qu'il existe plus d'une façon de localiser cette page Web dans un ensemble de pages Web.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Vérifiez que les en-têtes et les étiquettes décrivent le sujet ou le but.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Vérifiez qu'il existe au moins un mode de fonctionnement dans lequel l'indicateur de mise au point du clavier peut être placé visuellement sur les commandes de l'interface utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Les éléments de lien ne peuvent être situés que dans la section d'en-tête du document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Il manque à l'élément Link un attribut rel non vide identifiant le type de lien.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "L'élément Link manque un attribut href non vide pointant vers la ressource liée.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Vérifiez que le texte du lien décrit l'objet du lien.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Vérifiez que toutes les fonctionnalités qui utilisent des gestes multipoints ou basés sur le chemin peuvent être utilisées avec un seul pointeur sans geste basé sur le chemin, sauf si un geste multipoint ou basé sur le chemin est essentiel.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Vérifiez que pour les fonctionnalités qui peuvent être exploitées à l'aide d'un seul pointeur, au moins une des conditions suivantes est remplie : No Down-Event : Le down-event du pointeur n'est pas utilisé pour exécuter une partie de la fonction; Abandon ou Annulation : L'achèvement de la fonction se fait sur l'événement haut, et un mécanisme est disponible pour annuler la fonction avant l'achèvement ou pour annuler la fonction après l'achèvement; Inversion haut : Le up-event inverse tout résultat du down-event précédent; Essentiel : Il est essentiel de terminer la fonction lors de l'événement descendant.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "Cet élément a un écouteur d'événement \"mousedown\". Vérifiez que pour les fonctionnalités qui peuvent être exploitées à l'aide d'un seul pointeur, au moins une des conditions suivantes est remplie : No Down-Event : Le down-event du pointeur n'est pas utilisé pour exécuter une partie de la fonction; Abandon ou Annulation : L'achèvement de la fonction se fait sur l'événement haut, et un mécanisme est disponible pour annuler la fonction avant l'achèvement ou pour annuler la fonction après l'achèvement; Inversion haut : Le up-event inverse tout résultat du down-event précédent; Essentiel : Il est essentiel de terminer la fonction lors de l'événement descendant.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "Cet élément a un écouteur de l'événement Touchstart. Vérifiez que pour les fonctionnalités qui peuvent être exploitées à l'aide d'un seul pointeur, au moins une des conditions suivantes est remplie : No Down-Event : Le down-event du pointeur n'est pas utilisé pour exécuter une partie de la fonction; Abandon ou Annulation : L'achèvement de la fonction se fait sur l'événement haut, et un mécanisme est disponible pour annuler la fonction avant l'achèvement ou pour annuler la fonction après l'achèvement; Inversion haut : Le up-event inverse tout résultat du down-event précédent; Essentiel : Il est essentiel de terminer la fonction lors de l'événement descendant.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Vérifiez que pour les composants de l'interface utilisateur dont les étiquettes comportent du texte ou des images de texte, le nom contient le texte qui est présenté visuellement.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Le nom accessible de cet élément ne contient pas le texte visible de l'étiquette. Vérifiez que pour les composants de l'interface utilisateur dont les étiquettes comportent du texte ou des images de texte, le nom contient le texte qui est présenté visuellement.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Vérifiez que les fonctionnalités qui peuvent être commandées par le mouvement de l'appareil ou de l'utilisateur peuvent également être commandées par les composants de l'interface utilisateur et que la réponse au mouvement peut être désactivée pour éviter tout actionnement accidentel, sauf dans les cas suivants Interface supportée : Le mouvement est utilisé pour faire fonctionner la fonctionnalité par le biais d'une interface accessible et prise en charge; Essentiel : Le mouvement est essentiel pour la fonction et le faire invaliderait l'activité. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "Cet élément a un auditeur d'événement de devicemotion. Vérifiez que les fonctionnalités qui peuvent être commandées par le mouvement de l'appareil ou de l'utilisateur peuvent également être commandées par les composants de l'interface utilisateur et que la réponse au mouvement peut être désactivée pour éviter tout actionnement accidentel, sauf dans les cas suivants Interface supportée : Le mouvement est utilisé pour faire fonctionner la fonctionnalité par le biais d'une interface accessible et prise en charge; Essentiel : Le mouvement est essentiel pour la fonction et le faire invaliderait l'activité. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Vérifiez que la taille de la cible pour les entrées de pointeur est au moins de 44 par 44 pixels CSS, sauf si : Equivalent : La cible est disponible par un lien ou un contrôle équivalent sur la même page qui est au moins de 44 par 44 pixels CSS; Inline : La cible se trouve dans une phrase ou un bloc de texte; Contrôle de l'agent utilisateur : La taille de la cible est déterminée par l'agent utilisateur et n'est pas modifiée par l'auteur; Essentiel : Une présentation particulière de la cible est essentielle à l'information véhiculée", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Vérifier que le contenu ne restreint pas l'utilisation des modalités de saisie disponibles sur une plate-forme, sauf si la restriction est essentielle, nécessaire pour assurer la sécurité du contenu ou requise pour respecter les paramètres de l'utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "L'élément html doit avoir un attribut lang ou xml:lang qui décrit la langue du document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "La langue spécifiée dans l'attribut lang de l'élément de document ne semble pas être bien formée.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "La langue spécifiée dans l'attribut xml:lang de l'élément document ne semble pas être bien formée.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Assurez-vous que tout changement de langue est marqué à l'aide de l'attribut lang et/ou xml:lang sur un élément, selon le cas.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "La langue spécifiée dans l'attribut lang de cet élément ne semble pas être bien formée.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "Le langage spécifié dans l'attribut xml:lang de cet élément ne semble pas être bien formé.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Vérifier qu'il existe un mécanisme permettant d'identifier des définitions spécifiques de mots ou de phrases utilisés d'une manière inhabituelle ou restreinte, y compris les expressions idiomatiques et le jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Vérifier qu'il existe un mécanisme permettant d'identifier la forme élargie ou la signification des abréviations.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Lorsque le contenu exige une capacité de lecture plus avancée que le niveau de l'enseignement secondaire inférieur, un contenu supplémentaire ou une version alternative devrait être fourni.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing prononciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing prononciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Vérifier qu'il n'y a pas de changement de contexte lorsque ce champ de saisie reçoit le focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'Ce formulaire ne contient pas de bouton de soumission, ce qui crée des problèmes pour ceux qui ne peuvent pas soumettre le formulaire à l\'aide du clavier. Les boutons Submit sont des éléments INPUT avec l\'attribut de type "submit" ou "image", ou des éléments BUTTON avec le type "submit" ou omis/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Vérifiez que les mécanismes de navigation qui sont répétés sur plusieurs pages Web se produisent dans le même ordre relatif chaque fois qu'ils sont répétés, à moins qu'un changement ne soit initié par l'utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Vérifier que les composants qui ont la même fonctionnalité dans cette page Web sont identifiés de manière cohérente dans l'ensemble des pages Web auxquelles ils appartiennent.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Vérifiez que le texte du lien de ce lien contient des informations indiquant que le lien s'ouvrira dans une nouvelle fenêtre.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "Si une erreur de saisie est automatiquement détectée dans ce formulaire, vérifiez que le ou les éléments erronés sont identifiés et que l'erreur ou les erreurs sont décrites à l'utilisateur sous forme de texte.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Vérifier que les étiquettes descriptives ou les instructions (y compris pour les champs obligatoires) sont fournies pour l'entrée de l'utilisateur dans ce formulaire.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Vérifier que ce formulaire fournit les corrections suggérées en cas d'erreurs dans les entrées des utilisateurs, à moins que cela ne compromette la sécurité ou l'objectif du contenu.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "Si ce formulaire lie un utilisateur à un engagement financier ou juridique, modifie/supprime des données contrôlables par l'utilisateur, ou soumet des réponses de test, assurez-vous que les soumissions sont réversibles, vérifiées pour les erreurs de saisie et/ou confirmées par l'utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Vérifiez que l'aide contextuelle est disponible pour ce formulaire, au niveau de la page Web et/ou du contrôle.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Vérifier que les soumissions à ce formulaire sont soit réversibles, soit vérifiées pour les erreurs de saisie, et/ou confirmées par l'utilisateur.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "L'élément d'ancrage trouvé avec un ID mais sans href ou texte de lien. Envisager de déplacer son ID vers un élément parent ou un élément voisin.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "L'élément d'ancrage trouvé avec un attribut de nom mais sans href ou texte de lien. Envisagez de déplacer l'attribut de nom pour qu'il devienne l'ID d'un parent ou d'un élément voisin.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Élément d'ancrage trouvé sans contenu de lien et sans nom et/ou attribut ID.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Les éléments d'ancrage ne doivent pas être utilisés pour définir des cibles de liens en page. Si vous n'utilisez pas l'ID à d'autres fins (comme le CSS ou le script), envisagez de le déplacer vers un élément parent", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "L'élément d'ancrage trouvé avec le contenu du lien, mais aucun attribut href, ID ou nom n'a été fourni.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "L'élément d'ancrage trouvé avec un attribut href valide, mais aucun contenu de lien n'a été fourni.", helpUrl: [], @@ -1575,7 +1658,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Vérifier que les messages de statut peuvent être déterminés par programme grâce à des rôles ou des propriétés tels qu'ils peuvent être présentés à l'utilisateur par des technologies d'assistance sans recevoir de mise au point.", helpUrl: [], diff --git a/kayle/lib/rules/he/htmlcs-rules.ts b/kayle/lib/rules/he/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/he/htmlcs-rules.ts +++ b/kayle/lib/rules/he/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/it/htmlcs-rules.ts b/kayle/lib/rules/it/htmlcs-rules.ts index 575f8956..a7324c24 100644 --- a/kayle/lib/rules/it/htmlcs-rules.ts +++ b/kayle/lib/rules/it/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "L'elemento Img è l'unico contenuto del link, ma manca del testo alt. Il testo alt dovrebbe descrivere lo scopo del link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "L'elemento Img con testo alt vuoto deve avere l'attributo title assente o vuoto.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "L'elemento Img è contrassegnato in modo da essere ignorato dalla Tecnologia Assistiva.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Manca un attributo alt nell'elemento Img. Utilizzare l'attributo alt per specificare un'alternativa testuale breve.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Assicurarsi che il testo alt dell'elemento img abbia lo stesso scopo e presenti le stesse informazioni dell'immagine.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Manca un attributo alt nel pulsante di invio immagine. Specificare un'alternativa testuale che descriva la funzione del pulsante, usando l'attributo alt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Assicurarsi che il testo alt del pulsante di invio immagine identifichi lo scopo del pulsante.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Elemento area in una mappa immagine mancante di un attributo alt. Ogni elemento area deve avere un'alternativa testuale che descriva la funzione dell'area della mappa immagine.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Assicurarsi che l'alternativa testuale dell'elemento area abbia lo stesso scopo della parte dell'immagine della mappa immagine a cui fa riferimento.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "Se questa immagine non può essere completamente descritta in un'alternativa testuale breve, assicurarsi che sia disponibile anche un'alternativa testuale lunga, come nel testo del corpo o tramite un link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "L'elemento Img all'interno di un link non deve utilizzare un testo alt che duplica il contenuto testuale del link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "L'elemento Img all'interno di un link ha un testo alternativo vuoto o mancante quando un link vicino contiene testo del link. Prendere in considerazione l'unione dei link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "L'elemento Img all'interno di un link non deve utilizzare un testo alternativo che duplica il contenuto di un link testuale accanto.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "L'elemento Img all'interno di un link ha un testo alternativo vuoto o mancante quando un link vicino contiene testo del link. Prendere in considerazione l'unione dei link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "L'elemento Img all'interno di un link non deve utilizzare un testo alternativo che duplica il contenuto di un link testuale accanto.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Gli elementi Object devono contenere un'alternativa testuale dopo che tutte le altre alternative sono esaurite.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Verificare che siano disponibili alternative testuali brevi (e, se appropriato, lunghe) per i contenuti non testuali che servono lo stesso scopo e presentano le stesse informazioni.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Gli elementi Applet devono contenere un'alternativa testuale nel corpo dell'elemento, per i browser senza supporto per l'elemento applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Gli elementi Applet devono contenere un attributo alt, per fornire un'alternativa testuale ai browser che supportano l'elemento ma non sono in grado di caricare l'applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Verificare che siano disponibili alternative testuali brevi (e, se appropriato, lunghe) per i contenuti non testuali che servono lo stesso scopo e presentano le stesse informazioni.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "Se questo oggetto incorporato contiene solo audio pre-registrato e non viene fornito come alternativa per il contenuto testuale, verificare che sia disponibile una versione in testo alternativo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "Se questo oggetto incorporato contiene solo video pre-registrato e non viene fornito come alternativa per il contenuto testuale, verificare che sia disponibile una versione in testo alternativo, o sia fornita una traccia audio che presenta informazioni equivalenti.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "Se questo oggetto incorporato contiene media sincronizzati pre-registrati e non viene fornito come alternativa per il contenuto testuale, verificare che siano forniti sottotitoli per il contenuto audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "Se questo oggetto incorporato contiene media sincronizzati pre-registrati e non viene fornito come alternativa per il contenuto testuale, verificare che sia fornita una descrizione audio del suo video, e/o sia disponibile una versione in testo alternativo del contenuto.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "Se questo oggetto incorporato contiene media sincronizzati, verificare che siano forniti sottotitoli per il contenuto audio dal vivo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "Se questo oggetto incorporato contiene media sincronizzati pre-registrati, verificare che sia fornita una descrizione audio per il suo contenuto video.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "Se questo oggetto incorporato contiene media sincronizzati pre-registrati, verificare che sia fornita un'interpretazione in lingua dei segni per il suo audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "Se questo elemento contiene audio che viene riprodotto automaticamente per più di 3 secondi, verifica che ci sia la possibilità di mettere in pausa, fermare o disattivare l'audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "Il testo di questo elemento è posizionato su un gradiente. Assicurati che il rapporto di contrasto tra il testo e tutte le parti coperte del gradiente sia di almeno {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "Questo elemento è posizionato in modo assoluto e il colore dello sfondo non può essere determinato. Assicurati che il rapporto di contrasto tra il testo e tutte le parti coperte dello sfondo sia di almeno {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "Il testo di questo elemento è posizionato su un'immagine di sfondo. Assicurati che il rapporto di contrasto tra il testo e tutte le parti coperte dell'immagine sia di almeno {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "Il testo o lo sfondo di questo elemento contiene trasparenza. Assicurati che il rapporto di contrasto tra il testo e lo sfondo sia di almeno {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Verifica che questo elemento abbia un colore di primo piano ereditato per completare il corrispondente colore di sfondo o immagine inline.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Verifica che questo elemento abbia un colore di sfondo o un'immagine ereditata per completare il corrispondente colore di primo piano inline.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/ja/htmlcs-rules.ts b/kayle/lib/rules/ja/htmlcs-rules.ts index da7b56e3..e5d83eef 100644 --- a/kayle/lib/rules/ja/htmlcs-rules.ts +++ b/kayle/lib/rules/ja/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,571 +302,617 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "img 要素がこのリンクの唯一のコンテンツですが、 alt テキストがありません。 alt テキストがリンクの目的を説明するべきです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "空の alt テキストをもつ img 要素は title 属性をもたないか、または、空でなければなりません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "img 要素は支援技術に無視されるようマークアップされています。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img 要素に alt 属性が不足しています。 alt 属性で短い代替テキストを明示してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "img 要素 の alt テキストが、この画像と同じ目的や情報を提供していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "画像による送信ボタンに alt 属性が不足しています。このボタンの機能を説明する代替テキストを alt 属性で明示してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "画像による送信ボタンの代替テキストがそのボタンの目的を特定していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "イメージマップのArea 要素に alt 属性が不足しています。各 area 要素は、そのイメージマップエリアの機能を説明する代替テキストを持たなければなりません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "area 要素の代替テキストが、参照するイメージマップ画像の部分と同じ目的を提供していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "もし短い代替テキストでこのイメージが十分に説明できないなら、ボディテキストやリンクなどを通じて長い代替テキストを提供してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "リンク内の img 要素は 代替テキストにリンクのコンテンツのテキストの複製を使用してはなりません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "テキストリンクと隣り合うリンク内の img 要素の alt 属性が指定されていないか空になっています。テキストと画像のリンクを一つにまとめることを検討してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "テキストリンクと隣り合うリンク内の img 要素の alt 属性にテキストリンクの内容の複製を使用してはいけません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "テキストリンクと隣り合うリンク内の img 要素の alt 属性が指定されていないか空になっています。テキストと画像のリンクを一つにまとめることを検討してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "テキストリンクと隣り合うリンク内の img 要素の alt 属性にテキストリンクの内容の複製を使用してはいけません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "他のすべての選択肢が尽きた後は、 object 要素に代替テキストを含める必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "短い(適切な場合は長い)代替テキストが、同じ目的を果たし同じ情報を提示する非テキストコンテンツに対して提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "applet 要素をサポートしていないブラウザでは、 applet 要素の要素本文に代替テキストを含める必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "applet 要素をサポートしているがロードできないブラウザに対して代替テキストを提供するために、 applet 要素は alt 属性を含まなければなりません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "非テキストコンテンツに対して、同じ目的を果たし、かつ同じ情報を示す短い(適切な場合は長い)代替テキストが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "この埋め込みオブジェクトに録音済みの音声のみが含まれていて、テキストコンテンツの代替として提供されていない場合は、代替テキストバージョンが利用可能であることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "この埋め込みオブジェクトに録画済みの映像のみが含まれており、テキストコンテンツの代替として提供されていない場合は、代替テキストバージョンが利用可能であるか、同等の情報を示す音声トラックが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "この埋め込みオブジェクトに事前に記録された同期したメディアが含まれており、テキストコンテンツの代替として提供されていない場合は、音声コンテンツ用のキャプションが提供されていることを確認してください", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "この埋め込みオブジェクトに事前に記録された同期したメディアが含まれていて、テキストコンテンツの代替として提供されていない場合は、その映像の音声説明および/またはコンテンツの代替テキストバージョンが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "この埋め込みオブジェクトに同期したメディアが含まれている場合は、ライブの音声コンテンツにキャプションが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "この埋め込みオブジェクトに事前に記録された同期したメディアが含まれている場合は、その映像コンテンツに音声の説明があることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "この埋め込みオブジェクトに記録済みの同期したメディアが含まれている場合は、その音声に手話の解釈が提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "この埋め込みオブジェクトに同期したメディアが含まれていて、前景音の一時停止による音声解説が収録済映像の意味を伝えるのに不十分な場合、スクリプトまたは代替バージョンで拡張音声解説が提供させていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "この埋め込みオブジェクトに事前に記録された同期したメディアまたは映像のみのコンテンツが含まれている場合は、コンテンツの代替テキストバージョンが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "この埋め込みオブジェクトにライブの音声のみのコンテンツが含まれている場合は、そのコンテンツの代替テキストバージョンが提供されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'この要素の役割は"プレゼンテーション"ですが、セマンティックな意味を持つ子要素を含みます。', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'このラベルの "for" 属性には、フォームコントロールでない要素の ID が含まれています。目的の要素に正しい ID を入力していることを確認してください。', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'このフォームコントロールには、空またはスペースのみを含む "title" 属性があります。ラベリングテストの目的では無視されます。', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'このフォームコントロールには、空またはスペースのみを含む "aria-label" 属性があります。ラベリングテストの目的では無視されます。', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'このフォームコントロールには aria-labelledby 属性が含まれていますが、要素には存在しないID "{{id}}" が含まれています。 aria-labelledby 属性はラベリングテストの目的では無視されます。', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "この hidden のフォームフィールドには何らかの方法でラベルが付けられています。 hidden のフォームフィールドにラベルを付ける必要はありません。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'このフォームフィールドは( "hidden" 属性を使用して)非表示にすることを目的としていますが、何らかの方法でラベル付けされています。隠しフォームフィールドにラベルを付ける必要はありません。', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'このフォームフィールドは何らかの方法でラベル付けされるべきです。 label 要素( "for" 属性を持つかフォームフィールドを囲む)、または "title"、 "aria-label" 、または "aria-labelledby" 属性を適切に使用してください。', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "HTML5では時代遅れになっているプレゼンテーションマークアップが使用されています。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "強調テキストまたは特殊テキストには、プログラム的に決定できるようセマンティックマークアップが使用されるべきです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "強調テキストまたは特殊テキストには、プログラム的に決定できるようセマンティックマークアップが使用されるべきです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "このコンテンツが見出しとして意図されている場合は、見出しマークアップを使用する必要があります。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "テーブルセルに無効な scope 属性があります。有効な値は、 row 、 col 、 rowgroup 、または colgroup です。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "他の要素の見出しとして機能する td 要素のスコープ属性は、HTML5では廃止されました。代わりに th 要素を使用してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "複数のレベルの見出しを持つテーブルでは、 th 要素のスコープ属性はあいまいです。代わりに td 要素の headers 属性を使用してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td element is correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'この td 要素のヘッダー属性が正しくありません。 "{{expected}}" を予期していましたが、 "{{actual}}" を検出しました', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "td 要素とそれに関連する th 要素の関係は定義されていません。このテーブルには複数レベルの th 要素があるため、 td 要素には headers 属性を使用する必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "このテーブルに id 属性を含まない th 要素があります。これらのセルは、それらが td 要素の headers 属性によって参照されるように ID を含むべきです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "このテーブルに headers 属性を含まない td 要素があります。各 headers 属性は、そのセルに関連付けられているすべての th 要素の ID を列挙する必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "td 要素とそれに関連する th 要素の関係は定義されていません。 th 要素に scope 属性を使用するか、td 要素に headers 属性を使用してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "このテーブルに id 属性を含まない th 要素があります。これらのセルは、それらが td 要素の headers 属性によって参照されるように ID を含むべきです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "このテーブルに headers 属性を含まない td 要素があります。各 headers 属性は、そのセルに関連付けられているすべての th 要素の ID を列挙する必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "このテーブルに scope 属性をもたない th 要素があります。これらのセルは、 td 要素との関連を識別するための scope 属性を含むべきです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "td 要素とそれに関連する th 要素の関係は定義されていません。 th 要素に scope 属性を使用するか、td 要素に headers 属性を使用してください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "このテーブルはレイアウトに使用されているように見えますが、 summary 属性が含まれています。レイアウトテーブルに summary 属性を含めないか、または、指定されている場合は空にしてください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "このテーブルがデータテーブルで、 summary 属性と caption 要素の両方が存在する場合、 summary は caption を複製しないでください。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "このテーブルがデータテーブルである場合は、 summary 属性がテーブルの構成を説明していること、またはテーブルの使用方法を説明していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "このテーブルがデータテーブルの場合は、 table 要素の summary 属性を使用してこのテーブルの概要を説明してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "このテーブルはレイアウトに使用されているように見えますが、 caption 要素が含まれています。レイアウトテーブルに caption を含めることはできません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "このテーブルがデータテーブルの場合は、 caption 要素がこのテーブルを正確に記述していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "このテーブルがデータテーブルである場合は、このテーブルを識別するために table 要素に caption 要素を使用することを検討してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "フィールドセットに legend 要素が含まれていません。すべてのフィールドセットには、フィールドグループの説明を記述する legend 要素を含める必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "この選択リストに関連オプションのグループが含まれている場合は、それらを optgroup とグループ化する必要があります。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "これらのラジオボタンまたはチェックボックスにさらにグループレベルの説明が必要な場合は、それらを fieldset 要素に含める必要があります。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "このコンテンツは、プレーンテキストを使用して番号なしリストをシミュレートしているように見えます。もしそうなら、 ul 要素でこの内容をマークアップすることで文書に適切な構造情報を追加します。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "このコンテンツは、プレーンテキストを使用して番号付きリストをシミュレートしているように見えます。もしそうなら、 ol 要素でこの内容をマークアップすることで文書に適切な構造情報を追加します。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "見出し構造が論理的にネストされていません。この h{{headingNum}} 要素は主な文書見出しであるようにみえるため、 h1 要素であるべきです。", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "見出しタグがコンテンツなしで見つかりました。見出しとして意図されていないテキストは、見出しタグでマークアップしてはいけません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "この要素にナビゲーションセクションが含まれる場合は、リストとしてマークアップすることを推奨します。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "このテーブルはレイアウトテーブルのようにみえます。もしデータテーブルであることを意図している場合、 th 要素を使用することでヘッダーセルが識別されるようにしてください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "このテーブルはデータテーブルのようにみえます。もしレイアウトテーブルであることを意図している場合は、 th 要素がないこと、および summary または caption がないことを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "スタイルシートが無効になっている場合など、線形化されたときにコンテンツが意味のある順序で並べられていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "コンテンツを理解するための説明が提供されている場合は、オブジェクトを説明するために(形状、サイズ、場所などの)感覚的な特性だけに頼らないでください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "HTMLCS.getTranslation('1_3_4.RestrictView')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: "HTMLCS.getTranslation('1_3_5_H98.FaultyValue')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Text')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Multiline')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Password')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Url')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Telephone')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Numeric')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Month')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: "HTMLCS.getTranslation('1_3_5_H98.InvalidAutoComplete_Date')", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "HTMLCS.getTranslation('1_3_5_H98.Purpose')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "HTMLCS.getTranslation('1_3_5_H98.MissingAutocomplete')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "HTMLCS.getTranslation('1_3_6_ARIA11.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "色だけを使って伝えられる情報がテキストや他の視覚的な手がかりを通しても利用可能であることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "HTMLCS.getTranslation('1_4_10_C32,C31,C33,C38,SCR34,G206.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: "HTMLCS.getTranslation('1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed')", helpUrl: [], @@ -874,679 +920,715 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "HTMLCS.getTranslation('1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling')", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "HTMLCS.getTranslation('1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom')", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "HTMLCS.getTranslation('1_4_11_G195,G207,G18,G145,G174,F78.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "HTMLCS.getTranslation('1_4_12_C36,C35.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "HTMLCS.getTranslation('1_4_13_F95.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "この要素に3秒を超えて自動再生される音声が含まれている場合は、音声を一時停止、停止、またはミュートする機能があることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "この要素のテキストはグラデーションの上に配置されます。テキストとグラデーションのすべての覆われた部分のコントラスト比が少なくとも {{required}}:1 であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "この要素は絶対位置に配置されているため、背景色を決定できません。テキストと背景の覆われた部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "この要素のテキストは背景画像に配置されます。テキストと画像の覆われている部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "この要素のテキストまたは背景は透明部分を含みます。テキストと背景のコントラスト比が少なくとも{{required}}:1であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "この要素に継承された前景色があり、対応するインラインの背景色または画像を引き立てていることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "この要素に継承された背景色または画像があり、対応するインラインの前景色を引き立てていることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "コンテンツや機能を損なうことなく、支援技術なしでテキストを200パーセントまでリサイズできることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "使用している技術で意図した視覚的提示が可能である場合、文字画像ではなくテキストが情報伝達に用いられているか確認してください。ただし、文字画像が、伝えようとする情報にとって必要不可欠であるか、または、利用者の要求に応じて視覚的にカスタマイズできる場合を除きます。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: + "この要素のテキストはグラデーションの上に配置されます。テキストとグラデーションのすべての覆われた部分のコントラスト比が少なくとも {{required}}:1 であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "この要素は絶対位置に配置されているため、背景色を決定できません。テキストと背景の覆われた部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "この要素のテキストは背景画像に配置されます。テキストと画像の覆われている部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "主に(ナレーションなどの)スピーチである要素内の事前録音された音声のみのコンテンツでは、背景音はミュート可能であるか、またはスピーチより少なくとも20dB(または約4倍)静かである必要があります。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "ウェブページまたはブラウザを介して、ユーザーがテキストブロックの前景色と背景色を選択できるメカニズムがあることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "テキストブロックの幅を80文字以下(中国語、日本語、または韓国語のスクリプトでは40文字以下)に縮小するメカニズムが存在することを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "テキストブロックが両端揃えされていないこと、または両端揃えを削除するためのメカニズムが存在することを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "テキストブロック内の行間隔が段落内で少なくとも150%であり、段落間隔が行間隔の少なくとも1.5倍であること、またはこれを達成するためのメカニズムが使用可能であることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "ユーザーがフルスクリーンウィンドウ上で水平にスクロールすることを必要とせずに、支援技術なしでテキストを200パーセントまでリサイズできることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "テキストのイメージが純粋な装飾のためか、または、伝えられる情報にテキストの特定の表現が不可欠である場合にだけ使われているか確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "この要素のイベントハンドラによって提供される機能がキーボードから利用可能であることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "この要素をダブルクリックすることで提供される機能がキーボードから利用可能であることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "この要素の上にマウスを置くことで提供される機能がキーボードから利用可能であることを確認してください。たとえば、フォーカスイベントの使用などです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "この要素からマウスを外すことによって提供される機能がキーボードを通して利用可能であることを確認してください。たとえば、 blur イベントの使用などです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "この要素上でマウスを動かすことによって提供される機能がキーボードを通して利用可能であることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "この要素をマウスオーバーすることで提供される機能がキーボードから利用可能であることを確認してください。たとえば、 keydown イベントの使用などです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "この要素にマウスを合わせることで提供される機能がキーボードから利用可能であることを確認してください。たとえば、 keyup イベントの使用などです。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "このアプレットまたはプラグインが、キーボードを使用しているときにフォーカスをそれ自体から遠ざける機能を提供することを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "HTMLCS.getTranslation('2_1_4.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "別のページにリダイレクトするために使用される Meta リフレッシュタグの制限時間が0ではありません。ユーザーはこの制限時間を制御できません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "現在のページを更新するために meta リフレッシュタグが使用されています。ユーザーはこの更新の制限時間を制御できません。", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "コンテンツの一部が5秒より長く移動、スクロール、点滅、または自動更新される場合は、コンテンツを一時停止、停止、非表示にできるメカニズムがあることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "この点滅している要素を5秒以内に止めることができるメカニズムがあることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "blink 要素は、点滅情報を5秒以内に停止できるという要件を満たせません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "タイミングがコンテンツによって提示されるイベントまたはアクティビティの重要な部分でないことを確認してください。ただし、インタラクティブでない同期したメディアおよびリアルタイムイベントを除きます。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "緊急時の中断を除いて、すべての中断(コンテンツの更新を含む)がユーザーによって延期または抑制できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "このウェブページが無活動時間制限のある一連のウェブページの一部である場合は、認証されたユーザーが再認証後にデータを失うことなくアクティビティを続行できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "HTMLCS.getTranslation('2_2_6.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "コンテンツのすべてのコンポーネントが、どの1秒間においても3回を超えて点滅していないこと、または点滅している領域のサイズが十分に小さいことを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "コンテンツのすべてのコンポーネントが、どの1秒間においても3回を超えて点滅していないことを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "HTMLCS.getTranslation('2_3_3.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "iframe 要素には、フレームを識別する空でない title 属性が必要です。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "この要素の title 属性にフレームを識別するテキストが含まれていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "一般的なナビゲーション要素はすべて迂回できることを確認してください。例えば、スキップリンク、ヘッダ要素、または ARIA ランドマークを使用します。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'このリンクはドキュメント内の名前付きアンカー "{{id}}" を指していますが、その名前のアンカーは存在しません。', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'このリンクはドキュメント内の名前付きアンカー "{{id}}" を指していますが、テストされたフラグメント内にその名前のアンカーは存在しません。', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "説明的な title 要素を配置するための head セクションがありません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "head セクションの空でない title 要素を使って、文書にタイトルをつけるべきです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "head セクションの title 要素が空ではありません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "title 要素が文書を説明していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "tabindex が使用されている場合は、 tabindex 属性で指定されたタブ順序がコンテンツ内の関係に従っていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "プログラムで解釈されるリンクのコンテキストまたはその title 属性と組み合わせたときに、リンクテキストからリンクの目的が判断できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "プログラムで解釈されるリンクのコンテキストと組み合わせたときに、リンクテキストからリンクの目的が判断できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "このウェブページが一連のプロセスの一部でない場合は、ウェブページ一式の中でこのウェブページを見つける方法が複数あることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "見出しとラベルがトピックや目的を説明していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "キーボードフォーカスのインジケータをユーザーインターフェイス操作子に視覚的に配置できる操作モードが少なくとも1つあることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "link 要素はドキュメントのヘッドセクションにのみ配置できます。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "link 要素に、リンクタイプを識別する空でない rel 属性がありません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "link 要素に、リンクされているリソースを指す空でない href 属性がありません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "リンクテキストがリンクの目的を説明していることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "HTMLCS.getTranslation('2_5_1.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "HTMLCS.getTranslation('2_5_2.SinglePointer_Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "HTMLCS.getTranslation('2_5_2.Mousedown_Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "HTMLCS.getTranslation('2_5_2.Touchstart_Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "HTMLCS.getTranslation('2_5_3_F96.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "HTMLCS.getTranslation('2_5_3_F96.AccessibleName')", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "HTMLCS.getTranslation('2_5_4.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "HTMLCS.getTranslation('2_5_4.Devicemotion')", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "HTMLCS.getTranslation('2_5_5.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "HTMLCS.getTranslation('2_5_6.Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "html 要素には、ドキュメントの言語を記述する lang 属性または xml:lang 属性を含める必要があります。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "document 要素の lang 属性に指定されている言語が整形式ではないようです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "document 要素の xml:lang 属性に指定されている言語が整形式ではないようです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "言語の変更が、要素の lang 属性または xml:lang 属性、あるいはその両方を使用して適切にマークアップされていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "この要素の lang 属性に指定されている言語は、整形式ではないようです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "この要素の xml:lang 属性に指定されている言語は、整形式ではないようです。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "慣用句や専門用語を含む、特殊または制限された用法の単語やフレーズの特定の定義を識別するためのメカニズムが利用可能であることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "展開形式または略語の意味を識別するためのメカニズムが利用可能であることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "コンテンツが中等教育レベルよりも高度な読解力を必要とする場合は、補足的なコンテンツまたは代替バージョンを提供する必要があります。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "ruby 要素が、本文の発音情報を含む rt 要素を含んでいません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "ruby 要素が、 rb 要素内のテキストの発音情報を含む rt 要素を含んでいません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "ruby 要素に rp 要素が含まれていません。これは、ルビテキストをサポートしていないブラウザに余分な句読点を提供します。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "この入力フィールドがフォーカスを受けたときにコンテキストの変更が起こらないことを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'このフォームには送信ボタンがありません。キーボードを使用してフォームを送信できないユーザーに問題が発生します。送信ボタンは、 type 属性が "submit" または "image" の INPUT 要素、またはタイプが "submit" または省略/無効の BUTTON 要素です。', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "複数のウェブページ上で繰り返されているナビゲーションのメカニズムは、繰り返されるたびに相対的に同じ順序で出現することを確認してください。ただし、利用者が変更した場合を除きます。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "このウェブページ内で同じ機能を有するコンポーネントが、それが属するウェブページ一式の中で一貫して識別できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "このリンクのリンクテキストに、リンクが新しいウィンドウで開くことを示す情報が含まれていることを確認してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "この形式で入力エラーが自動的に検出された場合は、エラーのある項目が識別され、エラーがテキストでユーザーに説明されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "このフォームのユーザー入力に説明ラベルまたは説明(必須フィールドを含む)が指定されていることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "コンテンツのセキュリティや目的を損なうことがない限り、このフォームがユーザー入力の誤りに対する推奨される修正を提供することを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "このフォームがユーザーに財務上または法律上のコミットメントを義務付ける場合、ユーザーが制御可能なデータを修正または削除する、またはテスト回答を送信する場合は、送信が可逆であるか、入力エラーのチェックを行っているか、またはユーザーによる確認を行っているかを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "ウェブフォームやコントロールレベルで、このフォームの状況依存ヘルプが利用できることを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "このフォームへの送信が可逆であるか、入力エラーのチェックを行っているか、またはユーザーによる確認を行っているかを確認してください。", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "アンカー要素がID付きで見つかりましたが href またはリンクテキストがありません。このIDを親または近くの要素に移動することを検討してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "name属性を持つアンカー要素が見つかりましたが、 href またはリンクテキストがありません。 name 属性を親または近くの要素のIDになるように移動することを検討してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "アンカー要素にリンクのコンテンツがなく、name または ID 属性もありません。", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "アンカー要素をページ内リンクの対象の定義に使用するべきではありません。このIDが別の目的(CSSやスクリプト等)で使用されていないなら、親要素へ移動することを検討してください。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "有効なリンクのコンテンツをもつアンカー要素が見つかりましたが、 href 、 ID 、 name のいずれの属性も与えられていません。", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "有効なhref属性をもつアンカー要素が見つかりましたが、リンクのコンテンツが与えられていません。", helpUrl: [], @@ -1554,7 +1636,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "HTMLCS.getTranslation('4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check')", helpUrl: [], diff --git a/kayle/lib/rules/ko/htmlcs-rules.ts b/kayle/lib/rules/ko/htmlcs-rules.ts index dbc83f3e..3dfd1497 100644 --- a/kayle/lib/rules/ko/htmlcs-rules.ts +++ b/kayle/lib/rules/ko/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,575 +302,626 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img 요소가 링크의 유일한 내용이지만 alt 텍스트가 누락되었습니다. alt 텍스트는 링크의 목적을 설명해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "빈 alt 텍스트를 가진 Img 요소는 없거나 빈 title 속성을 가져야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img 요소가 보조 기술에 의해 무시되도록 표시됩니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img 요소에 alt 속성이 누락되었습니다. 짧은 텍스트 대체물을 지정하기 위해 alt 속성을 사용하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "img 요소의 alt 텍스트가 이미지와 동일한 목적을 제공하고 동일한 정보를 제시하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "이미지 제출 버튼에 alt 속성이 누락되었습니다. 버튼의 기능을 설명하는 텍스트 대체물을 alt 속성을 사용하여 지정하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "이미지 제출 버튼의 alt 텍스트가 버튼의 목적을 식별하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "이미지 맵의 area 요소에 alt 속성이 누락되었습니다. 각 area 요소는 이미지 맵 영역의 기능을 설명하는 텍스트 대체물을 가져야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "area 요소의 텍스트 대체물이 참조하는 이미지 맵 이미지의 부분과 동일한 목적을 제공하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "이 이미지를 짧은 텍스트 대체물로 완전히 설명할 수 없는 경우, 본문 텍스트나 링크를 통해 긴 텍스트 대체물이 제공되도록 하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "링크 내부의 Img 요소는 링크의 텍스트 내용을 중복하는 alt 텍스트를 사용해서는 안됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "링크 옆에 링크 텍스트가 있는 경우 링크 내부의 Img 요소가 빈 alt 텍스트를 가지거나 누락되었습니다. 링크를 결합하는 것을 고려하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "링크 내부의 Img 요소는 옆에 있는 텍스트 링크의 내용을 중복하는 alt 텍스트를 사용해서는 안됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "링크 옆에 링크 텍스트가 있는 경우 링크 내부의 Img 요소가 빈 alt 텍스트를 가지거나 누락되었습니다. 링크를 결합하는 것을 고려하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "링크 내부의 Img 요소는 옆에 있는 텍스트 링크의 내용을 중복하는 alt 텍스트를 사용해서는 안됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "모든 다른 대안을 고갈시킨 후에 객체 요소는 텍스트 대체물을 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "비텍스트 콘텐츠에 대해 동일한 목적을 제공하고 동일한 정보를 제시하는 짧은(그리고 적절한 경우, 긴) 텍스트 대체 수단이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "애플릿 요소는 애플릿 요소를 지원하지 않는 브라우저를 위해 요소의 본문 안에 텍스트 대체 수단을 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "애플릿 요소는 해당 요소를 지원하지만 애플릿을 로드할 수 없는 브라우저에 텍스트 대체를 제공하기 위해 alt 속성을 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "비텍스트 콘텐츠에 대해 동일한 목적을 제공하고 동일한 정보를 제시하는 짧은(그리고 적절한 경우, 긴) 텍스트 대체 수단이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "이 내장 객체가 텍스트 콘텐츠의 대안으로 제공되지 않는 사전 녹음된 오디오만 포함하는 경우, 대체 텍스트 버전이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "이 내장 객체가 텍스트 콘텐츠의 대안으로 제공되지 않는 사전 녹음된 비디오만 포함하는 경우, 대체 텍스트 버전이 제공되거나 동등한 정보를 제시하는 오디오 트랙이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "이 내장 객체가 텍스트 콘텐츠의 대안으로 제공되지 않는 사전 녹음된 동기화 미디어를 포함하는 경우, 오디오 콘텐츠에 대한 캡션을 제공하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "이 내장 객체가 텍스트 콘텐츠의 대안으로 제공되지 않는 사전 녹음된 동기화 미디어를 포함하는 경우, 비디오의 오디오 설명 및/또는 콘텐츠의 대체 텍스트 버전이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "이 내장 객체가 동기화 미디어를 포함하는 경우, 생방송 오디오 콘텐츠에 대한 캡션을 제공하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "이 내장 객체가 사전 녹음된 동기화 미디어를 포함하는 경우, 비디오 콘텐츠에 대한 오디오 설명이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "이 내장 객체가 사전 녹음된 동기화 미디어를 포함하는 경우, 오디오에 대한 수화 해석이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "이 내장 객체가 동기화 미디어를 포함하며, 사전 녹음된 비디오의 뜻을 전달하기 위해 전경 오디오의 일시 정지가 충분하지 않은 경우, 스크립팅을 통하거나 대체 버전을 통해 확장된 오디오 설명을 제공하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "이 내장 객체가 사전 녹음된 동기화 미디어 또는 비디오 콘텐츠만 포함하는 경우, 콘텐츠의 대체 텍스트 버전이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "이 내장 객체가 생방송 오디오 콘텐츠만 포함하는 경우, 콘텐츠의 대체 텍스트 버전이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: "이 요소의 역할은 'presentation'이지만 의미 있는 자식 요소를 포함하고 있습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: "이 레이블의 'for' 속성에는 양식 컨트롤이 아닌 요소의 ID가 포함되어 있습니다. 의도한 요소에 올바른 ID가 입력되었는지 확인하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: "이 양식 컨트롤에는 'title' 속성이 비어 있거나 공백만 포함되어 있습니다. 레이블링 테스트 목적으로 무시될 것입니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: "이 양식 컨트롤에는 'aria-label' 속성이 비어 있거나 공백만 포함되어 있습니다. 레이블링 테스트 목적으로 무시될 것입니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - "이 양식 컨트롤은 aria-labelledby 속성을 포함하고 있지만, 요소에 존재하지 않는 ID '{{id}}'를 포함하고 있습니다. aria-labelledby 속성은 레이블링 테스트 목적으로 무시될 것입니다.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "이 숨겨진 양식 필드는 어떤 방식으로든 레이블이 지정되어 있습니다. 숨겨진 양식 필드를 레이블할 필요가 없어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: "이 양식 필드는 'hidden' 속성을 사용하여 숨겨져야 하지만, 어떤 방식으로든 레이블이 지정되어 있습니다. 숨겨진 양식 필드를 레이블할 필요가 없어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: "이 양식 필드는 어떤 방식으로든 레이블이 지정되어야 합니다. 'for' 속성이 있는 레이블 요소를 사용하거나, 양식 필드를 둘러싼 레이블 요소, 또는 'title', 'aria-label' 또는 'aria-labelledby' 속성을 적절하게 사용하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "HTML5에서 사용되지 않게 된 프레젠테이션 마크업이 사용되었습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "강조 표시되거나 특별한 텍스트를 프로그래밍 방식으로 결정할 수 있도록 의미적 마크업이 사용되어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "강조 표시되거나 특별한 텍스트를 프로그래밍 방식으로 결정할 수 있도록 의미적 마크업이 사용되어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "이 콘텐츠가 제목으로 의도된 경우, 제목 마크업이 사용되어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "테이블 셀에 잘못된 범위 속성이 있습니다. 유효한 값은 row, col, rowgroup, 또는 colgroup입니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "다른 요소들의 제목 역할을 하는 td 요소에 범위 속성이 HTML5에서 사용되지 않습니다. 대신 th 요소를 사용하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "여러 레벨의 제목이 있는 테이블에서 th 요소에 범위 속성이 모호합니다. 대신 td 요소에 헤더 속성을 사용하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "td 요소의 헤더 속성이 올바른지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - "이 td 요소의 잘못된 헤더 속성입니다. '{{expected}}'를 예상했지만 '{{actual}}'을(를) 발견했습니다", - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "td 요소와 관련된 th 요소 사이의 관계가 정의되지 않았습니다. 이 테이블에 여러 레벨의 th 요소가 있으므로 td 요소에 헤더 속성을 사용해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "이 테이블의 모든 th 요소에 id 속성이 포함되어 있지 않습니다. 이 셀들은 td 요소의 헤더 속성에서 참조할 수 있도록 id를 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "이 테이블의 모든 td 요소에 헤더 속성이 포함되어 있지 않습니다. 각 헤더 속성은 해당 셀과 관련된 모든 th 요소의 id를 나열해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "td 요소와 관련된 th 요소 사이의 관계가 정의되지 않았습니다. th 요소에 범위 속성을 사용하거나 td 요소에 헤더 속성을 사용하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "이 테이블의 모든 th 요소에 id 속성이 포함되어 있지 않습니다. 이 셀들은 td 요소의 헤더 속성에서 참조할 수 있도록 id를 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "이 테이블의 모든 td 요소에 헤더 속성이 포함되어 있지 않습니다. 각 헤더 속성은 해당 셀과 관련된 모든 th 요소의 id를 나열해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "이 테이블의 모든 th 요소에 범위 속성이 포함되어 있지 않습니다. 이 셀들은 td 요소와의 연관성을 식별하기 위해 범위 속성을 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "td 요소와 관련된 th 요소 사이의 관계가 정의되지 않았습니다. th 요소에 범위 속성을 사용하거나 td 요소에 헤더 속성을 사용하세요.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "이 테이블은 레이아웃에 사용되는 것으로 보이지만, 요약 속성을 포함하고 있습니다. 레이아웃 테이블은 요약 속성을 포함해서는 안 되며, 제공된 경우 비워야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "이 테이블이 데이터 테이블이며 요약 속성과 캡션 요소가 모두 존재하는 경우, 요약은 캡션을 중복해서는 안 됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "이 테이블이 데이터 테이블인 경우, 요약 속성이 테이블의 구성을 설명하거나 테이블을 사용하는 방법을 설명하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "이 테이블이 데이터 테이블인 경우, 테이블 요소의 요약 속성을 사용하여 이 테이블에 대한 개요를 제공하는 것이 좋습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "이 테이블은 레이아웃에 사용되는 것으로 보이지만, 캡션 요소를 포함하고 있습니다. 레이아웃 테이블은 캡션을 포함해서는 안 됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "이 테이블이 데이터 테이블인 경우, 캡션 요소가 이 테이블을 정확하게 설명하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "이 테이블이 데이터 테이블인 경우, 테이블 요소에 캡션 요소를 사용하여 이 테이블을 식별하는 것이 좋습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset에 legend 요소가 포함되어 있지 않습니다. 모든 fieldset은 field 그룹의 설명을 설명하는 legend 요소를 포함해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "이 선택 목록에 관련 옵션의 그룹이 포함된 경우, optgroup으로 그룹화해야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "이 라디오 버튼이나 체크 박스가 추가적인 그룹 수준 설명을 요구하는 경우, fieldset 요소 내에 포함되어야 합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "이 콘텐츠는 순서 없는 목록을 일반 텍스트로 시뮬레이션하는 것처럼 보입니다. 그렇다면, ul 요소로 마크업하여 문서에 적절한 구조 정보를 추가하는 것이 좋습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "이 콘텐츠는 순서 있는 목록을 일반 텍스트로 시뮬레이션하는 것처럼 보입니다. 그렇다면, ol 요소로 마크업하여 문서에 적절한 구조 정보를 추가하는 것이 좋습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "제목 구조가 논리적으로 중첩되지 않았습니다. 이 h{{headingNum}} 요소는 주 문서 제목으로 보이므로 h1 요소여야 합니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "내용 없는 제목 태그가 발견되었습니다. 제목으로 의도되지 않은 텍스트는 제목 태그로 표시되어서는 안됩니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "이 요소가 탐색 섹션을 포함하고 있다면, 목록으로 표시하는 것이 권장됩니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "이 테이블은 레이아웃 테이블로 보입니다. 만약 데이터 테이블로 사용되어야 한다면, th 요소를 사용하여 헤더 셀이 식별되도록 해야 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "이 테이블은 데이터 테이블로 보입니다. 만약 레이아웃 테이블로 사용되어야 한다면, th 요소가 없고 요약이나 캡션도 없도록 해야 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "스타일 시트가 비활성화되었을 때와 같이 선형화되었을 때 내용이 의미있는 순서로 정렬되어 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "내용을 이해하기 위한 지침이 제공되는 곳에서, 객체를 설명할 때 모양, 크기 또는 위치와 같은 감각적 특성에만 의존하지 않도록 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "콘텐츠가 특정 디스플레이 방향(예: 세로나 가로)으로만 보기와 조작을 제한하지 않도록 확인합니다. 특정 디스플레이 방향이 필수적이지 않는 한.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "이 요소의 자동완성 속성에 잘못될 수 있는 값이 포함되어 있습니다: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 텍스트 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 다줄 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 비밀번호 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 URL 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 전화번호 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 숫자 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 월 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "유효하지 않은 자동완성 값: {{x}}. 요소가 날짜 제어 그룹에 속하지 않습니다.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "입력 필드가 사용자 인터페이스 구성 요소의 입력 목적 섹션에서 식별된 목적을 제공하는지, 그리고 기대되는 양식 입력 데이터의 의미를 식별하기 위해 지원하는 기술을 사용하여 콘텐츠가 구현되었는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "이 요소에는 자동완성 속성이 없습니다. 이 필드가 사용자에 대한 정보를 수집한다면, 이 성공 기준을 준수하기 위해 자동완성을 추가하는 것을 고려하십시오.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "사용자 인터페이스 구성 요소, 아이콘 및 영역의 목적을 프로그래밍 방식으로 결정할 수 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "색상만을 사용하여 전달되는 모든 정보가 텍스트나 다른 시각적 단서를 통해서도 사용 가능한지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "다음 경우에 정보나 기능이 손실되지 않고, 두 방향으로 스크롤할 필요 없이 콘텐츠를 제시할 수 있는지 확인합니다: 세로 스크롤 콘텐츠의 경우 320 CSS 픽셀에 해당하는 너비; 가로 스크롤 콘텐츠의 경우 256 CSS 픽셀에 해당하는 높이; 사용 또는 의미에 대한 이차원 레이아웃이 필요한 콘텐츠 부분을 제외하고.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: "이 요소는 'position: fixed'를 갖습니다. 이것은 두 방향으로 스크롤을 요구할 수 있으며, 이는 이 성공 기준의 실패로 간주됩니다.", helpUrl: [], @@ -878,691 +929,726 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "서식이 지정된 텍스트는 두 방향으로 스크롤을 필요로 할 수 있으며, 이는 이 성공 기준의 실패로 간주됩니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "사용자 에이전트의 확대/축소 기능을 방해하는 것은 이 성공 기준의 실패가 될 수 있습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "다음의 시각적 표현이 인접 색상(들)에 대해 최소 3:1의 대비 비율을 갖는지 확인합니다: 사용자 인터페이스 구성요소: 사용자 인터페이스 구성 요소와 상태를 식별하는 데 필요한 시각적 정보, 비활성 구성 요소 또는 구성 요소의 외관이 사용자 에이전트에 의해 결정되고 저자에 의해 수정되지 않는 경우를 제외하고; 그래픽 객체: 콘텐츠를 이해하는 데 필요한 그래픽의 부분, 특정한 그래픽의 표현이 전달되는 정보에 필수적인 경우를 제외하고.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "다음 모든 설정을 변경하고 다른 스타일 속성은 변경하지 않고 설정하여 내용이나 기능의 손실이 없는지 확인합니다: 줄 높이(줄 간격)를 글꼴 크기의 최소 1.5배로; 문단 뒤에 따르는 간격을 글꼴 크기의 최소 2배로; 글자 간격(추적)을 글꼴 크기의 최소 0.12배로; 단어 간격을 글꼴 크기의 최소 0.16배로.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "포인터 호버 또는 키보드 포커스를 받은 후 추가 콘텐츠가 보이고 다시 숨겨지게 하는 것이 참이 되려면 다음이 사실이어야 합니다: 해제 가능: 포인터 호버나 키보드 포커스를 이동하지 않고 추가 콘텐츠를 해제할 수 있는 메커니즘이 있어야 합니다. 입력 오류를 알리거나 다른 콘텐츠를 가리거나 대체하지 않는 한; 호버 가능: 포인터 호버가 추가 콘텐츠를 트리거할 수 있다면, 포인터를 추가 콘텐츠 위로 이동해도 추가 콘텐츠가 사라지지 않아야 합니다; 지속 가능: 추가 콘텐츠가 호버나 포커스 트리거가 제거될 때까지, 사용자가 해제하거나 정보가 더 이상 유효하지 않을 때까지 보이게 남아 있어야 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "이 요소가 3초 이상 자동으로 재생되는 오디오를 포함하고 있다면, 오디오를 일시 정지, 중지 또는 음소거할 수 있는 기능이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "이 요소의 텍스트는 그라데이션 위에 배치됩니다. 텍스트와 모든 덮인 그라데이션 부분 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "이 요소는 절대 위치가 지정되어 있고 배경색을 결정할 수 없습니다. 텍스트와 모든 덮힌 배경 부분 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "이 요소의 텍스트는 배경 이미지 위에 배치됩니다. 텍스트와 모든 덮인 이미지 부분 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "이 요소의 텍스트 또는 배경에 투명도가 포함되어 있습니다. 텍스트와 배경 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "이 요소에 해당하는 인라인 배경 색상 또는 이미지에 대응하는 상속된 전경색이 있는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "이 요소에 해당하는 인라인 전경색에 대응하는 상속된 배경색 또는 이미지가 있는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "보조 기술 없이도 텍스트를 200 퍼센트까지 크기 조정할 수 있으며, 내용 또는 기능 손실 없이 텍스트를 재조정할 수 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "사용 중인 기술이 시각적 표현을 달성할 수 있다면, 텍스트 이미지 대신 텍스트를 사용하여 정보를 전달하도록 합니다. 단, 텍스트 이미지가 전달되는 정보에 필수적이거나 사용자의 요구 사항에 따라 시각적으로 사용자 정의될 수 있는 경우는 예외입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "이 요소는 절대 위치가 지정되어 있고 배경색을 결정할 수 없습니다. 텍스트와 모든 덮힌 배경 부분 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "이 요소의 텍스트는 배경 이미지 위에 배치됩니다. 텍스트와 모든 덮인 이미지 부분 사이의 대비 비율이 최소 {{required}}:1 이상인지 확인하십시오.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "이 요소에 포함된 주로 말 (예: 내레이션)로 구성된 사전 녹음된 오디오 전용 콘텐츠의 경우, 배경 소리는 음소거할 수 있거나, 말보다 최소 20 dB (또는 약 4배) 조용해야 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "웹 페이지나 브라우저를 통해 사용자가 텍스트 블록의 전경색 및 배경색을 선택할 수 있는 메커니즘이 제공되는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "텍스트 블록의 너비를 한국어, 중국어 또는 일본어 스크립트인 경우 40자로, 그 외의 경우 80자로 줄일 수 있는 메커니즘이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "텍스트 블록이 양쪽 모두에 맞춰 완전히 정렬되지 않도록 하거나, 완전한 정렬을 제거할 수 있는 메커니즘이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "텍스트 블록에서 문단의 줄 간격이 최소 150%이고, 문단 간격이 줄 간격의 최소 1.5배이거나 이를 달성할 수 있는 메커니즘이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "보조 기술 없이도 텍스트를 200 퍼센트까지 크기 조정할 수 있으며, 전체 화면 창에서 사용자가 수평으로 스크롤할 필요 없이 텍스트를 재조정할 수 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "텍스트 이미지가 순수한 장식용이거나 전달되는 정보에 필수적인 특정 텍스트 표현이 필요한 경우를 제외하고, 텍스트 이미지 사용을 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "이 요소에 대한 이벤트 핸들러에 의해 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "이 요소를 더블 클릭함으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "이 요소 위로 마우스를 올림으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다; 예를 들어, focus 이벤트를 사용하여.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "이 요소에서 마우스를 내림으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다; 예를 들어, blur 이벤트를 사용하여.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "이 요소 위에서 마우스를 이동함으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "이 요소에 마우스를 내림으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다; 예를 들어, keydown 이벤트를 사용하여.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "이 요소에서 마우스를 뗌으로써 제공되는 기능이 키보드를 통해 사용할 수 있는지 확인합니다; 예를 들어, keyup 이벤트를 사용하여.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "이 애플릿이나 플러그인이 키보드를 사용할 때 자체로부터 포커스를 옮길 수 있는 기능을 제공하는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "콘텐츠에서 단지 문자(대문자 및 소문자 포함), 구두점, 숫자, 또는 기호 문자만을 사용하여 키보드 단축키를 구현하는 경우, 다음 중 하나가 참인지 확인합니다: 끄기: 단축키를 끌 수 있는 메커니즘이 있습니다; 재매핑: 단축키를 하나 이상의 비출력 키보드 문자(예: Ctrl, Alt 등)를 사용하도록 재매핑할 수 있는 메커니즘이 있습니다; 포커스에서만 활성화: 사용자 인터페이스 구성 요소의 키보드 단축키는 해당 구성 요소에 포커스가 있을 때만 활성화됩니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "제로가 아닌 시간 제한으로 다른 페이지로 리디렉션되는 메타 리프레시 태그를 사용합니다. 사용자는 이 시간 제한을 제어할 수 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "현재 페이지를 새로고침하기 위해 메타 리프레시 태그를 사용합니다. 사용자는 이 새로고침의 시간 제한을 제어할 수 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "콘텐츠의 일부가 5초 이상 움직이거나 스크롤하거나 깜박이거나 자동 업데이트되는 경우, 콘텐츠를 일시 중지하거나 중지하거나 숨길 수 있는 메커니즘이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "5초 이내에 이 깜박이는 요소를 중지할 수 있는 메커니즘이 있는지 확인합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "깜박임 요소는 5초 이내에 깜박이는 정보를 중지할 수 있다는 요구 사항을 충족할 수 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "콘텐츠에 의해 제시된 이벤트나 활동의 본질적인 부분이 타이밍이 아닌지 확인합니다. 단, 비대화형 동기화 미디어와 실시간 이벤트를 제외합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "비상사태에 관련된 중단을 제외하고, 모든 중단(콘텐츠 업데이트 포함)이 사용자에 의해 연기되거나 억제될 수 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "이 웹 페이지가 활동 시간 제한이 있는 웹 페이지 집합의 일부인 경우, 인증된 사용자가 데이터 손실 없이 재인증 후 활동을 계속할 수 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "데이터 손실을 초래할 수 있는 사용자의 비활동 기간의 지속 시간에 대해 사용자에게 경고하는지 확인합니다. 단, 사용자가 아무런 조치를 취하지 않는 경우 20시간 이상 데이터가 보존되는 경우는 제외합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "콘텐츠의 어떤 구성요소도 1초 기간에 세 번 이상 깜박이지 않거나, 깜박이는 영역의 크기가 충분히 작은지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "콘텐츠의 어떤 구성요소도 1초 기간에 세 번 이상 깜박이지 않는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "상호 작용에 의해 트리거된 모션 애니메이션을 비활성화할 수 있는지 확인합니다. 단, 애니메이션이 기능이나 전달되는 정보에 필수적인 경우는 제외합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe 요소는 프레임을 식별하는 비어 있지 않은 title 속성이 필요합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "이 요소의 title 속성이 프레임을 식별하는 텍스트를 포함하고 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "공통 네비게이션 요소를 우회할 수 있도록 보장합니다; 예를 들어, 스킵 링크, 헤더 요소 또는 ARIA 랜드마크 역할을 사용하여.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: "이 링크는 문서 내에 '{{id}}'라는 이름의 앵커를 가리키지만, 그 이름을 가진 앵커가 존재하지 않습니다.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: "이 링크는 문서 내에 '{{id}}'라는 이름의 앵커를 가리키지만, 테스트된 프래그먼트에 그 이름을 가진 앵커가 존재하지 않습니다.", - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "설명적인 제목 요소를 배치할 수 있는 헤드 섹션이 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "헤드 섹션에 비어 있지 않은 제목 요소를 사용하여 문서에 제목을 제공해야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "헤드 섹션의 제목 요소는 비어 있지 않아야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "제목 요소가 문서를 설명하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "tabindex가 사용되는 경우, tabindex 속성에 의해 지정된 탭 순서가 콘텐츠의 관계를 따르는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "링크 텍스트와 프로그래매틱하게 결정된 링크 컨텍스트 또는 그것의 title 속성이 링크의 목적을 식별하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "링크 텍스트와 프로그래매틱하게 결정된 링크 컨텍스트가 링크의 목적을 식별하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "이 웹 페이지가 선형 프로세스의 일부가 아닌 경우, 웹 페이지 집합 내에서 이 웹 페이지를 찾는 데 하나 이상의 방법이 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "제목과 라벨이 주제 또는 목적을 설명하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "사용자 인터페이스 컨트롤에 키보드 포커스 표시기가 시각적으로 위치할 수 있는 적어도 하나의 모드가 있는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "링크 요소는 문서의 헤드 섹션에만 위치할 수 있습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "링크 요소에 링크 유형을 식별하는 비어 있지 않은 rel 속성이 누락되었습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "링크된 리소스를 가리키는 비어 있지 않은 href 속성이 링크 요소에 누락되었습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "링크의 텍스트가 링크의 목적을 설명하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "멀티포인트 또는 경로 기반 제스처를 사용하여 작동하는 모든 기능이 경로 기반 제스처 없이 단일 포인터로 작동할 수 있는지 확인합니다. 멀티포인트 또는 경로 기반 제스처가 필수적인 경우를 제외하고.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "단일 포인터를 사용하여 작동할 수 있는 기능의 경우, 다음 중 하나가 참인지 확인합니다: 다운-이벤트 없음: 포인터의 다운-이벤트를 사용하여 기능의 어떤 부분도 실행하지 않습니다; 중단 또는 실행 취소: 기능의 완료는 업-이벤트에 있으며, 완료 전에 기능을 중단하거나 완료 후 기능을 실행 취소할 수 있는 메커니즘이 제공됩니다; 업 반전: 업-이벤트는 앞선 다운-이벤트의 어떤 결과도 반전시킵니다; 필수: 다운-이벤트에서 기능을 완료하는 것이 필수적입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "이 요소에는 mousedown 이벤트 리스너가 있습니다. 단일 포인터를 사용하여 작동할 수 있는 기능의 경우, 다음 중 하나가 참인지 확인합니다: 다운-이벤트 없음: 포인터의 다운-이벤트를 사용하여 기능의 어떤 부분도 실행하지 않습니다; 중단 또는 실행 취소: 기능의 완료는 업-이벤트에 있으며, 완료 전에 기능을 중단하거나 완료 후 기능을 실행 취소할 수 있는 메커니즘이 제공됩니다; 업 반전: 업-이벤트는 앞선 다운-이벤트의 어떤 결과도 반전시킵니다; 필수: 다운-이벤트에서 기능을 완료하는 것이 필수적입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "이 요소에는 touchstart 이벤트 리스너가 있습니다. 단일 포인터를 사용하여 작동할 수 있는 기능의 경우, 다음 중 하나가 참인지 확인합니다: 다운-이벤트 없음: 포인터의 다운-이벤트를 사용하여 기능의 어떤 부분도 실행하지 않습니다; 중단 또는 실행 취소: 기능의 완료는 업-이벤트에 있으며, 완료 전에 기능을 중단하거나 완료 후 기능을 실행 취소할 수 있는 메커니즘이 제공됩니다; 업 반전: 업-이벤트는 앞선 다운-이벤트의 어떤 결과도 반전시킵니다; 필수: 다운-이벤트에서 기능을 완료하는 것이 필수적입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "텍스트 또는 텍스트의 이미지를 포함하는 레이블이 있는 사용자 인터페이스 구성 요소의 경우, 이름이 시각적으로 제시된 텍스트를 포함하는지 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "이 요소의 접근 가능한 이름이 보이는 레이블 텍스트를 포함하지 않습니다. 텍스트 또는 텍스트의 이미지를 포함하는 레이블이 있는 사용자 인터페이스 구성 요소의 경우, 이름이 시각적으로 제시된 텍스트를 포함하는지 확인하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "장치 움직임 또는 사용자 움직임으로 작동할 수 있는 기능이 사용자 인터페이스 구성 요소로도 작동할 수 있도록 하고, 우연한 작동을 방지하기 위해 움직임에 응답하는 기능을 비활성화할 수 있도록 확인하세요. 예외는 다음과 같습니다: 지원되는 인터페이스: 움직임이 접근성을 지원하는 인터페이스를 통해 기능을 작동시키는 데 사용됩니다; 필수적인: 움직임이 기능에 필수적이며 그렇게 하지 않으면 활동을 무효화합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "이 요소는 devicemotion 이벤트 리스너를 가지고 있습니다. 장치 움직임 또는 사용자 움직임으로 작동할 수 있는 기능이 사용자 인터페이스 구성 요소로도 작동할 수 있도록 하고, 우연한 작동을 방지하기 위해 움직임에 응답하는 기능을 비활성화할 수 있도록 확인하세요. 예외는 다음과 같습니다: 지원되는 인터페이스: 움직임이 접근성을 지원하는 인터페이스를 통해 기능을 작동시키는 데 사용됩니다; 필수적인: 움직임이 기능에 필수적이며 그렇게 하지 않으면 활동을 무효화합니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "포인터 입력을 위한 대상의 크기가 다음 경우를 제외하고는 최소한 44 x 44 CSS 픽셀인지 확인하세요: 동등한: 대상이 동일한 페이지에 최소 44 x 44 CSS 픽셀인 동등한 링크 또는 컨트롤을 통해 이용 가능합니다; 인라인: 대상이 문장이나 텍스트 블록 안에 있습니다; 사용자 에이전트 컨트롤: 대상의 크기가 사용자 에이전트에 의해 결정되며 작성자에 의해 수정되지 않습니다; 필수적인: 대상의 특정 표현이 전달되는 정보에 필수적입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "내용이 플랫폼에서 사용 가능한 입력 방식의 사용을 제한하지 않는지 확인하세요. 단, 제한이 내용의 보안을 보장하거나 사용자 설정을 존중하기 위해 필수적인 경우는 예외입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "html 요소에는 문서의 언어를 설명하는 lang 또는 xml:lang 속성이 있어야 합니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "문서 요소의 lang 속성에 지정된 언어가 잘 형성되지 않은 것으로 보입니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "문서 요소의 xml:lang 속성에 지정된 언어가 잘 형성되지 않은 것으로 보입니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "언어의 변경이 있는 경우 적절한 경우 요소에서 lang 및/또는 xml:lang 속성을 사용하여 표시되도록 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "이 요소의 lang 속성에 지정된 언어가 잘 형성되지 않은 것으로 보입니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "이 요소의 xml:lang 속성에 지정된 언어가 잘 형성되지 않은 것으로 보입니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "비정상적이거나 제한된 방식으로 사용된 단어나 구문의 구체적인 정의를 식별할 수 있는 메커니즘이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "약어의 확장된 형태나 의미를 식별할 수 있는 메커니즘이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "내용이 하위 중등 교육 수준보다 더 진보된 읽기 능력을 요구하는 경우, 보충 콘텐츠 또는 대체 버전이 제공되어야 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby 요소에는 본문 텍스트의 발음 정보를 포함하는 rt 요소가 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby 요소에는 rb 요소 안의 텍스트의 발음 정보를 포함하는 rt 요소가 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby 요소에는 ruby 텍스트를 지원하지 않는 브라우저에 추가 구두점을 제공하는 rp 요소가 없습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "이 입력 필드가 초점을 받을 때 컨텍스트의 변경이 발생하지 않도록 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: '이 양식에는 키보드를 사용하여 양식을 제출할 수 없는 사람들에게 문제를 일으키는 제출 버튼이 포함되어 있지 않습니다. 제출 버튼은 type 속성이 "submit" 또는 "image"인 INPUT 요소이거나 type이 "submit"인 BUTTON 요소이거나 생략/잘못된 요소입니다.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "사용자가 초기화하지 않는 한 다중 웹 페이지에 반복되는 탐색 메커니즘이 각 반복될 때마다 동일한 상대적 순서로 발생하는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "이 웹 페이지 내에서 동일한 기능을 갖는 구성 요소가 속한 웹 페이지 세트에서 일관되게 식별되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "이 링크의 링크 텍스트가 링크가 새 창에서 열릴 것임을 나타내는 정보를 포함하고 있는지 확인하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "이 양식에서 입력 오류가 자동으로 감지되는 경우, 오류가 발생한 항목이 식별되고 오류가 텍스트로 사용자에게 설명되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "이 양식에서 사용자 입력(필수 필드 포함)에 대한 설명적 레이블 또는 지침이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "이 양식이 사용자 입력의 오류에 대한 권장 수정 사항을 제공하는지 확인하세요. 단, 이로 인해 컨텐츠의 보안이나 목적이 위태로워지는 경우는 예외입니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "이 양식이 사용자를 재정적 또는 법적 약속에 구속하거나, 사용자가 제어할 수 있는 데이터를 수정/삭제하거나, 테스트 응답을 제출하는 경우, 제출이 되돌릴 수 있게 하거나, 입력 오류에 대해 확인하거나, 사용자에 의해 확인되도록 합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "이 양식에 대해 웹 페이지 및/또는 컨트롤 수준에서 컨텍스트별 도움이 제공되는지 확인하세요.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "이 양식에 대한 제출은 되돌릴 수 있거나, 입력 오류를 검사하거나, 사용자에 의해 확인될 수 있음을 확인합니다.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "ID는 있지만 href나 링크 텍스트가 없는 앵커 요소가 발견되었습니다. ID를 부모 또는 인접한 요소로 이동하는 것을 고려하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "name 속성이 있지만 href나 링크 텍스트 없이 발견된 앵커 요소입니다. name 속성을 부모 또는 인접한 요소의 ID가 되도록 이동하는 것을 고려하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "링크 내용이 없고 name과/또는 ID 속성이 없는 앵커 요소가 발견되었습니다.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "앵커 요소는 페이지 내 링크 목표를 정의하기 위해 사용되어서는 안 됩니다. ID를 CSS나 스크립트와 같은 다른 목적으로 사용하지 않는다면, 부모 요소로 이동하는 것을 고려하세요.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "링크 내용은 있지만 href, ID, name 속성이 제공되지 않은 앵커 요소가 발견되었습니다.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "유효한 href 속성이 있지만 링크 내용이 제공되지 않은 앵커 요소가 발견되었습니다.", helpUrl: [], @@ -1570,7 +1656,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "상태 메시지가 역할이나 속성을 통해 프로그래밍 방식으로 결정될 수 있도록 확인하여 포커스를 받지 않고도 보조 기술을 통해 사용자에게 제시될 수 있습니다.", helpUrl: [], diff --git a/kayle/lib/rules/nl/htmlcs-rules.ts b/kayle/lib/rules/nl/htmlcs-rules.ts index a42ee717..3d754e17 100644 --- a/kayle/lib/rules/nl/htmlcs-rules.ts +++ b/kayle/lib/rules/nl/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,575 +302,626 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is de enige inhoud van de link, maar bevat geen alt tekst. De alt tekst dient het doel van deze link te beschrijven.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element met een lege alt tekst mag enkel geen of een leeg titel attribuut hebben.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element werd gemarkeerd om genegeerd te worden door Hulptechnologie", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element bevat geen alt attribuut. Gebruik een alt attribuut om een kort tekstalternatief weer te geven.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Zorg ervoor dat het alt attribuut van dit img element hetzelfde doel dient en dezelfde informatie weergeeft als de afbeelding.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Afbeelding in de indienknop heeft geen alt attribuut. Zorg voor een tekstalternatief dat de functie van de knop beschrijft, gebruik een alt attribuut.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Zorg ervoor dat alt text van de afbeelding in de indienknop het doel van de knop beschrijft.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area-element in een image map heeft geen alt attribuut. Ieder area element moet een tekstalternatief hebben dat de functie ervan beschrijft.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Zorg ervoor dat het tekstalternatief van het area element hetzelfde doel heeft als het deel van de image map afbeelding waarnaar het verwijst.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "Als dit beeld niet volledig kan omschreven worden in een kort tekstalternatief, zorg er dan voor dat een langer tekstalternatief beschikbaar is, bijvoorbeeld in de bodytekst of via een link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element binnen een link mag geen alt tekst gebruiken die de tekstinhoud van de link herhaalt", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element binnen een link heeft een lege of ontbrekende alt tekst terwijl een link net ernaast linktekst bevat. Overweeg beide links samen te voegen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element binnen een link mag geen alt tekst gebruiken die de tekstinhoud van de link ernaast herhaalt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element binnen een link heeft een lege of ontbrekende alt tekst terwijl een link net ernaast linktekst bevat. Overweeg beide links samen te voegen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element binnen een link mag geen alt tekst gebruiken die de tekstinhoud van de link ernaast herhaalt.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elementen moeten een tekstalternatief bevatten indien alle andere alternatieven uitgeput zijn.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Controleer of een kort (of indien toepasselijk, lang) tekstalternatief beschikbaar is voor niet-tekstuele inhoud en dat die hetzelfde doel dient en dezelfde informatie toont.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elementen moeten een tekstalternatief bevatten in de body van het element, voor browsers die het applet element niet ondersteunen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elementen moeten een alt attribuut bevatten, om een tekst-alternatief te bieden in browsers die het element ondersteunen maar de applet niet kunnen laden.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Controleer of een kort (of indien toepasselijk, lang) tekstalternatief beschikbaar is voor niet-tekstuele inhoud en dat die hetzelfde doel dient en dezelfde informatie toont.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "Indien dit embedded object vooraf opgenomen audio bevat en niet aangeboden wordt als alternatief voor tekstuele inhoud, controleer dan of een alternatieve tekstversie beschikbaar is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "Indien dit embedded object vooraf opgenomen video bevat en niet aangeboden wordt als alternatief voor tekstuele inhoud, controleer dan of een alternatieve tekstversie beschikbaar is, of dat een audiospoor beschikbaar is dat equivalente informatie aanbiedt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media bevat en niet aangeboden wordt als alternatief voor tekstuele inhoud, controleer dan of ondertitels aangeboden worden voor audio inhoud.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media bevat en niet aangeboden wordt als alternatief voor tekstuele inhoud, controleer dan of er een audio beschrijving voor de video, en/of een alternatieve tekstversie beschikbaar is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "Indien dit embedded object gesynchroniseerde media bevat, controleer dan of er ondertitels aangeboden worden voor live audio inhoud.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media bevat , controleer dan of er een audio beschrijving voor de video inhoud.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media bevat, controleer dan of er een gebarentaal interpretatie beschikbaar is voor de audio-inhoud.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media bevat, en pauzes in de voorgrond-audio onvoldoende zijn voor audiobeschrijving om de betekenis van de opgenomen video te communiceren, controleer dan of er een uitgebreide audiobeschrijving voorzien is, ofwel via scripting of via een alternatieve versie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "Indien dit embedded object vooraf opgenomen gesynchroniseerde media of louter video bevat, controleer dan of een tekstalternatief voor de inhoud beschikbaar is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "Indien dit embedded object enkel live audio-inhoud bevat, controleer dan of een tekstalternatief voor de inhoud beschikbaar is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'De rol van dit element is "presentation" maar deze bevat onderliggende elementen met een semantische betekenis.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'Het "for" attribuut van dit label bevat een ID voor een element dat geen formulierbesturingselement. Controleer of het juiste ID ingevoerd is voor het bedoelde element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'Dit formulierbesturingselement heeft een "titel" attribuut dat leeg is of enkel spaties bevat. Het wordt genegeerd voor label testdoeleinden.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'Dit formulierbesturingselement heeft een "aria-label" attribuut dat leeg is of enkel spaties bevat. Het wordt genegeerd voor label testdoeleinden.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'Dit formulierbesturingselement heeft een "aria-labelledby" attribuut, dit bevat echter eeb ID "{{id}}" dat niet bestaat op een element. Het wordt genegeerd voor label testdoeleinden.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "Dit verborgen formulierveld is gelabeled. Een label is niet noodzakelijk voor een verborgen formulierveld.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'Dit formulierveld is bedoeld om verborgen te zijn (via het "hidden" attribuut), maar is ook gelabeled. Een label is niet noodzakelijk voor een verborgen formulierveld.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'Dit formulierveld zou gelabeled moeten zijn. Gebruik het label element (ofwel met een "for" attribuut of als omvattend element rond het formulierveld), of "title" "aria-label" of "aria-labbeledby" attributen waar gepast.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentationele markup gebruikt die vervallen is in HTML5", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantische markup zou gebruikt moeten worden om benadrukte of speciale tekst aan te duiden zodat dit programmatisch bepaald kan worden.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantische markup zou gebruikt moeten worden om benadrukte of speciale tekst aan te duiden zodat dit programmatisch bepaald kan worden.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup zou gebruikt moeten worden indien deze inhoud bedoeld is als een hoofding.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Tabelcel heeft een ongeldig scope attribuut. Geldige waardes zijn row, col, rowgroup of colgroup", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributen op td elementen die als hoofdingen gebruikt worden voor andere elementen zijn vervallen in HTML. Gebruik in plaats daarvan een th element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributen op th elementen zijn ambigu in een tabel met meerdere niveaus van hoofding. Gebruik in plaats daarvan het headers attribuut op td elementen.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td element is correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Foutief headers attribuut op dit td element. "{{expected}}" werd verwacht maar "{{actual}}" gevonden', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "De relatie tussen td elementen en de eraan gebonden th elementen werd niet omschreven. Gezien deze tabel meerdere niveaus th elmenten bevat, moet het headers attribuut gebruikt worden op td elementen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Niet alle th elementen in deze tabel hebben een id attribuut. Deze cellen zouden ids moeten bevatten zodat er kan naar verwezen worden in het headers attribuut van td elementen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Niet alle td elementen in deze tabel hebben een headers attribuut. Elk headers attribuut zou een lijst moeten bevatten van de ids van alle th elementen die verband houden met deze cel", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "De relatie tussen td elementen en de ermee verband houdende th elementen is niet omschreven. Gebruik ofwel het scope attribuut op th elementen of het headers attribuut op td elementen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Niet alle th elementen in deze tabel hebben een id attribuut. Deze cellen zouden ids moeten bevatten zodat er kan naar verwezen worden in het headers attribuut van td elementen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Niet alle td elementen in deze tabel hebben een headers attribuut. Elk headers attribuut zou een lijst moeten bevatten van de ids van alle th elementen die verband houden met deze cel", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Niet alle th elementen in deze tabel hebben een scope attribuut. Deze cellen zouden een scope attribuut moeten bevatten om hun verband met td elementen te identificeren.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "De relatie tussen td elementen en de ermee verband houdende th elementen is niet omschreven. Gebruik ofwel het scope attribuut op th elementen of het headers attribuut op td elementen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "Deze tabel lijkt gebruikt te worden voor opmaak, maar bevat een summary attribuut. Opmaaktabellen mogen geen summary attributen bevatten, of indien deze toch aanwezig zijn, moeten ze leeg zijn.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "Indien deze tabel een datatabel is en zowel het summary als het caption element aanwezig zijn, mag het summary attribuut geen herhaling zijn van het caption element", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "Indien deze tabel een datatabel is, controleer dan dat het summary attribuut de organisatie en het gebruik van deze tabel verduidelijkt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "Indien deze tabel een datatabel is, overweeg dan het summary attribuut van het tabel element te gebruiken om een overzicht over deze tabel te geven.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "Deze tabel lijkt gebruik te worden voor opmaak, maar bevat een caption element. Opmaaktabellen mogen geen caption bevatten.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "Indien deze tabel een datatabel is, controleer dan dat het caption element een nauwkeurige beschrijving geeft van de tabel.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "Indien deze tabel een datatabel is, overweeg dan een caption element bij het table element te gebruiken om de tabel te identificeren.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset bevat geen legend element. Alle fieldsets zouden een legend element moeten bevatten dat een beschrijving geeft van de veldengroep.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "Indien deze keuzelijst groepen verwante opties bevat, zouden ze gegroepeerd moeten worden met optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "Indien radioknoppen of selectievakjes een verdere beschrijving vergen op groepsniveau, zouden ze moeten omvat worden in een fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "Deze inhoud lijkt op een gesimuleerde niet-geordende lijst in tekst zonder opmaak. Indien dit klopt, dan zou deze inhoud markeren met een ul-element de informatie in het document een betere structuur geven.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "Deze inhoud lijkt op een gesimuleerde geordende lijst in tekst zonder opmaak. Indien dit klopt, dan zou deze inhoud markeren met een ol-element de informatie in het document een betere structuur geven.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "De hoofdingstructuur is niet logisch genest. Dit h{{headingNum}} element lijkt de primaire documenthoofding te zijn, dit zou dan een h1 element moeten zijn.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Hoofding tag gevonden zonder inhoud. Tekst die niet bedoeld is als hoofding zou niet mogen gemarkeerd worden met een hoofding tag.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "Indien dit element een navigatie-sectie bevat, wordt aanbevolen lijst-markup te gebruiken.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "Deze tabel lijkt een opmaaktabel te zijn. Indien deze bedoeld is als een datatabel, zorg er dan voor dat hoofding cellen geÔdentificeerd worden met th elementen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "Deze tabel lijkt een datatabel te zijn. Indien deze bedoeld is als een opmaaktabel, zorg er dan voor dat er geen th elementen, summary of caption aanwezig zijn.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Controleer dat de inhoud in een betekenisvolle volgorde staat indien lineair weergegeven, zoals wanneer stylesheets gedesactiveerd zijn.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Indien instructies voorzien zijn voor het goed begrip van de inhoud, reken dan niet enkel op zintuigelijke eigenschappen (zoals vorm, grootte of positie) om voorwerpen te omschrijven.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Controleer dat de inhoud zijn uitzicht en werking niet beperkt tot ÈÈn weergave-oriëntatie, zoals staand of liggend, tenzij zo'n specifieke weergave-oriëntatie essentieel is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "Dit element bevat een potentieel foutieve waarde in het autocomplete attribuut: {{valuesStr}}. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Text besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Multiline besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Password besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Url besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Telephone besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Numeric besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Month besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Ongeldige autocomplete waarde: {{x}}. Element maakt geen deel uit van de Date besturingselementen. Zie https://www.w3.org/TR/html52/sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Controleer dat het invoerveld een doel dient zoals beschreven in Input Purposes for User Interface Components sectie, en dat de inhoud is geÔmplementeerd met technologiën die het identificeren van de verwachtte betekenis van formulierinvoerdata ondersteunen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "Dit element heeft geen autocomplete attribuut. Indien dit veld informatie verzamelt over de gebruiker, overweeg dan er ÈÈn toe te voegen om te conformeren met dit succescriterium.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Controleer dat het doel van de gebruikersinterface-onderdelen, iconen en regio's programmatorisch kunnen bepaald worden", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Controleer dat alle informatie die gecommuniceerd wordt via kleur eveneens beschikbaar is als tekst of als een andere visuele hint.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Controleer dat de inhoud kan weergegeven worden zonder verlies van informatie of functionaliteit en zonder in twee dimensies te moeten scrollen voor: Verticaal scrollende inhoud op een breedte equivalent aan 320 CSS pixels Horizontaal scrollende inhoud op een hoogte equivalent aan CSS pixels. Behalve voor die delen van de inhoud die een tweedimensionale opmaak vergen voor gebruik of betekenis.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'Dit element heeft "position: fixed". Dit kan scrollen in twee dimensies vereisen, wat beschouwd wordt als een mislukking van dit succescriterium.', helpUrl: [], @@ -878,694 +929,730 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Voorgeformatteerde tekst kan scrollen in twee dimensies vereisen, wat beschouwd wordt als een mislukking van dit succescriterium.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Tussen beide komen in de mogelijkheid van de User Agent om uit te vergroten kan beschouwd worden als een mislukking van dit succescriterium.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Controleer dat de visuele weergave van de volgende zaken een contrastverhouding van minstens 3:1 tegen aangrenzende kleuren: Gebruikersinterface-onderdelen: visuele informatie vereist om gebruikersinterface-onderdelen te herkennen en hun status, behalve voor inactieve onderdelen or waar het uitzicht van het component door de User Agent bepaald wordt en niet gewijzigd is geweest door de auteur Grafische objecten: delen van de afbeelding vereist om de inhoud te begrijpen, behalve daar waar de specifieke weergave essentieel is voor de communicatie van de informatie. ,", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Controleer dat er geen verlies van inhoud of functionaliteit optreedt bij het instellen van de volgende eigenschappen en zonder andere stijleigenschappen te wijzigen: Lijnhoogte (lijnspatiëring) naar minstens 1,5 maal de lettergrootte Spatieing na paragrafen tot minstens 2 maal de lettergrootte Letterspatiëring (tracking) tot minstens 0,12 de lettergrootte Woordspatiëring tot minstens 0,16 maal de lettergrootte.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Controleer dat waar een pointer hover of toetsenbordfocus aanvullende content doet zichtbaar worden en terug verbergen, het volgende waar is: Als de aanvullende content een deel van de andere content bedekt, moet het mogelijk zijn om de aanvullende content (zoals een tooltip) opnieuw te verbergen zonder dat de muisaanwijzer verplaatst hoeft te worden en zonder de focus van het element weg te hoeven nemen Als de aanvullende content verschijnt door een element aan te wijzen (zonder te klikken), dan mag de content niet verdwijnen als de gebruiker de muis beweegt in het gebied waarin de aanvullende content is verschenen.De aanvullende content moet zichtbaar blijven totdat de gebruiker de muisaanwijzer buiten het element plaatst, de toetsenbordfocus actief verplaatst of op Escape drukt. Ten slotte mag de aanvullende content ook automatisch verdwijnen, maar enkel wanneer de weergegeven informatie niet meer geldig is ó bijvoorbeeld wanneer gemeld wordt dat een e-mailadres niet correct is ingevuld, maar de gebruiker deze fout al heeft verbeterd.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "Indien dit element audiop bevat die automatisch langer dan 3 seconden speelt, controleer dan dat de mogelijkheid bestaat om de audio te pauzeren, stoppen of stil te zetten.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "De tekst van dit element is op een achtergrondverloop geplaatst. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van het achtergrondverloop minimaal {{vereist}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "Dit element is absoluut gepositioneerd en de achtergrondkleur kan niet bepaald worden. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van de achtergond minstens {{required}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "De tekst van dit element werd geplaatst op een achtergrondafbeelding. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van de achtergrondafbeelding minstens {{required}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "De tekst of achtergrond van dit element bevat transparantie. Zorg ervoor dat de contrastverhouding tussen de tekst en de achtergond minstens {{required}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Controleer of dit element een overgeërfde voorgrondkleur heeft die complementair is met de overeenkomstige inline achtergrondkleur of afbeelding.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Controleer of dit element een overgeërfde achtergrondkleur of afbeelding heeft die complementair is met de overeenkomstige inline voorgrondkleur.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Controleer dat de tekst tot 200% uitvergroot kan worden zonder hulptechnologie en zonder verlies van inhoud of functionaliteit.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "Indien de gebruikte technologie de visuele presentatie kan weergeven, controleer dan dat tekst gebruikt werd om informatie weer te geven, in plaats van afbeeldingen van tekst, behalve als de afbeelding van tekst essentieel is voor de weer te geven informatie, of visueel kan aangepast worden aan de noden van de gebruiker.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: + "De tekst van dit element is op een achtergrondverloop geplaatst. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van het achtergrondverloop minimaal {{vereist}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "Dit element is absoluut gepositioneerd en de achtergrondkleur kan niet bepaald worden. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van de achtergond minstens {{required}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "De tekst van dit element werd geplaatst op een achtergrondafbeelding. Zorg ervoor dat de contrastverhouding tussen de tekst en alle bedekte delen van de achtergrondafbeelding minstens {{required}}:1 is.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "Voor voordien opgenomen pure audio-inhoud in dit element die hoofdzakelijk spraak is (zoals vertelling) dienen achtergrondgeluiden stil kunnen gezet worden, of ten minste 20 dB (of 4 maal) stiller te zijn dan de spraak.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Controleer dat een mechanisme beschikbaar is voor de gebruiker om de voorgrond- en achtergrondkleuren van tekstblokken te kiezen, via de webpagina of via de browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Controleer of een mechanisme bestaat om de breedte van een blok tekst te beperken tot niet meer dan 80 tekens (of 40 tekens in Chineese, Japans of Koreaans schrift)", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Controleer dat tekstblokken niet vol uitgelijnd zijn - dat wil zeggen, op zowel de linker- als rechterrand - of dat een mechanisme beschikbaar is om de volle uitlijning af te zetten.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Controleer dat de lijnspatiëring in tekstblokken minstens 150% is in paragrafen en de spatiëring tussen paragrafen minstens 1,5 keer de lijnspatiëring, of dat een mechanisme beschikbaar is om dit te bereiken.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Controleer dat de tekst tot 200% uitvergroot kan worden zonder hulptechnologie zonder dat de gebruiker verplicht wordt horizontaal te scrollen in een schermbreed venster.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Controleer dat afbeeldingen van tekst enkel gebruikt worden voor zuivere decoratie of waar een specifieke weergave van tekst essentieel deel uitmaakt van de weer te geven informatie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Controleer dat de functionaliteit voorzien in een eventhandler voor dit element beschikbaar is via het toetsenbord", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Controleer dat de functionaliteit voorzien bij dubbelklikken op dit element beschikbaar is via het toetsenbord.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Controleer dat de functionaliteit voorzien door een muisbeweging over dit element beschikbaar is via het toetsenbordbijvoorbeeld door gebruik te maken van het focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Controleer dat de functionaliteit voorzien door een muisbeweging uit dit element beschikbaar is via het toetsenbordbijvoorbeeld door gebruik te maken van het blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Controleer dat de functionaliteit voorzien door een muisbeweging op dit element beschikbaar is via het toetsenbord", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Controleer dat de functionaliteit voorzien door een muisklik - mousedown op dit element beschikbaar is via het toetsenbordbijvoorbeeld door gebruik te maken van het keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Controleer dat de functionaliteit voorzien door een muisklik - mouseup op dit element beschikbaar is via het toetsenbordbijvoorbeeld door gebruik te maken van het keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Controleer dat deze applet of plugin de mogelijkheid biedt om het focus weg te nemen van zichzelf via het toetsenbord.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Controleer dat indien sneltoets voorzien is met maar ÈÈn letter (inclusief hoofd- en kleine letters), punctuering, getal of symboolkarakters, minstens ÈÈn van volgende stellingen waar his: Uitzetten: Er is een mechanisme om de sneltoets af te zetten Hermappen: Er is mechanisme beschikbaar om de shortcut te hermappen om gebruik te maken van ÈÈn van de niet printbare toetsenbordkarakters (bvb. Ctrl, Alt, etc) Enkel aktief bij focus: De sneltoets voor een gebruikersinterface-onderdeel is enkel aktief als dat onderdeel het focus heeft.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag wordt gebruikt om te redirecten naar een andere pagina, met een tijdslimiet die niet nul is. Gebruikers kunnen deze tijdslimiet niet beÔnvloeden.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag wordt gebruikt om de huidige pagina te verversen. Gebruikers kunnen deze tijdslimiet niet beÔnvloeden.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "Indien een onderdeel van de inhoud beweegt, scrollt of knippert gedurende langer dan 5 seconden, of automatisch ververst, controleer dan of er een mechanisme beschikbaar is om te pauzeren, te stoppen of de inhoud te verbergen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Controleer dat er een mechanisme beschikbaar is om dit knipperende element in minder dan vijf seconden te stoppen.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elementen kunnen niet voldoen aan de vereiste dat knipperende informatie gestopt kan worden binnen de vijf seconden.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Controleer dat de timing geen essentieel onderdeel is van een gebeurtenis of activiteit voorgesteld door de inhoud, behalve voor niet-interactieve gesynchroniseerde media en real-time gebeurtenissen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Controleer dat alle onderbrekingen (inclusief inhoudsverversing) uitgesteld of afgezet kunnen worden door de gebruiker, behalve onderbrekingen die betrekking hebben tot een noodgeval.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "Indien deze webpagina deel uitmaakt van een set pagina's met een tijdslimiet op inactiviteit, controleer dan dat een geauthenticeerde gebruiker de activiteit zonder gegevensverlies kan voortzetten na herauthenticatie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Controleer dat gebruikers verwittigd werden van de duur van inactiviteit die gegevensverlies zou kunnen veroorzaken, tenzij de gegevens langer dan 20 uur bewaard worden als de gebruiker geen actie onderneemt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Controleer dat geen enkel onderdeel van de inhoud meer dan drie keer flitst in om het even welke periode van 1 seconde, of dat de afmeting van het flitsend gebied voldoende klein is.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Controleer dat geen enkel onderdeel van de inhoud meer dan drie keer flitst in om het even welke periode van 1 seconde.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Controleer dat de bewegingsanimatie veroorzaakt door interacties kan uitgezet worden, tenzij deze animatie essentieel is voor de functionaliteit of de weer te geven informatie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element vereist een niet-leeg title attribuut dat het kader identificeert.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Controleer dat het title attribuut van dit element tekst bevat die het kader identificeert.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Controleer dat veel voorkomende navigatie-elementen overgeslagen kunnen wordenbijvoorbeeld door gebruik van skip links, hoofding elementen of ARIA landmark rollen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'Deze link wijst naar een genaamd anker "{{id}}" binnen het document, maar er is geen anker met deze naam.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'Deze link wijst naar een genaamd anker "{{id}}" binnen het document, maar er is geen anker met deze naam binnen het geteste fragment.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "Er is geen head sectie waarin een beschrijvend title element kan geplaatst worden.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "Voor dit document dient een titel voorzien te worden, door een niet-leeg title element in de head sectie te plaatsen.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "Het title element in de head sectie mag niet leeg zijn.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Controleer dat het title element het document beschrijft.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "Indien tabindex gebruikt wordt, controleer dan dat de tabvolgorde gespecifieerd door de tabindex attributen de relaties in de inhoud volgt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Controleer dat de linktekst, gecombineerd met de programmatisch bepaalde link context, of zijn title attribuut, het doel van de link identificeert.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Controleer dat de linktekst, gecombineerd met de programmatisch bepaalde link context het doel van de link identificeert.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "Indien deze webpagina geen deel uitmaakt van een lineair proces, controleer dan of er meer dan ÈÈn manier is om deze webpagina te vinden binnen een set webpagina's.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Controleer dat de hoofdingen en labels de inhoud en het doel beschrijven.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Controleer dat er minstens een werkwijze is waarbij de toetsenbord focus indicator visueel teruggevonden kan worden op gebruiksinterface-besturingselementen.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elementen kunnen enkel geplaatst worden in de head sectie van het document", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Er ontbreekt een niet-leeg rel attribuut in het link element die het linktype identificeert.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Er ontbreekt een niet-leeg href attribuut in het link element dat wijst naar de gelinkte resource.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Controleer of de tekst van de link het doel van de link beschrijft.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Controleer dat alle functionaliteit die multipoint of pad-gebaseerde bewegingen gebruikt voor de werking gebruikt kan worden met één enkele pointer zonder pad-gebaseerde bewegingen, tenzij multipoint of pad-gebaseerde bewegingen essentieel zijn.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "HTMLCS.getTranslation('2_5_2.SinglePointer_Check')", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "Dit element heeft een mousedown event listener. Controleer dat voor functinaliteit die gebruikt kan worden met één enkele pointer, minstens één van de volgende stellingen waar is: Geen Down-event: Het down-event van de pointer wordt niet gebruikt om een deel van de functie uit te voeren; Afbreken of ongedaan maken: Vervollediging van deze functie is gehoofdingpeld aan het up-event en een mechanisme is beschikbaar om de functie voortijdig af te breken of ongedaan te maken na uitvoering; Up omkering: Het up-event keert de resultaten van het voorafgaande down-event om; Essentieel: De functie vervolledigen op het down-event is essentieel.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "Dit element heeft een touchstart event listener. Controleer dat voor functinaliteit die gebruikt kan worden met één enkele pointer, minstens één van de volgende stellingen waar is: Geen Down-event: Het down-event van de pointer wordt niet gebruikt om een deel van de functie uit te voeren; Afbreken of ongedaan maken: Vervollediging van deze functie is gehoofdingpeld aan het up-event en een mechanisme is beschikbaar om de functie voortijdig af te breken of ongedaan te maken na uitvoering; Up omkering: Het up-event keert de resultaten van het voorafgaande down-event om; Essentieel: De functie vervolledigen op het down-event is essentieel.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Controleer dat voor gebruiksinterface componenten met labels die tekst or afbeeldingen van tekst gebruiken, de naam de tekst bevat die visueel weergegeven wordt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "De toegankelijke naam voor dit element bevat geen zichtbare label tekst. Controleer dat voor gebruiksinterface componenten met labels die tekst or afbeeldingen van tekst gebruiken, de naam de tekst bevat die visueel weergegeven wordt.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Controleer dat de functionaliteit die bediend kan worden door beweging van het toestel of de gebruiker bediend kan worden via gebruiksinterface compoonenten en dat reageren op de beweging kan afgezet worden om accidentele actuatie te voorkomen, behalve waar: Ondersteunde Interface: De beweging gebruikt wordt om de functionaliteit te bedienen rond een toegankelijkheid ondersteunende interface Essentieel: De beweging is essentieel voor het goed functioneren en deze niet gebruiken zou de activiteit onmogelijk maken. ,", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "Dit element heeft een devicemotion event listener. Controleer dat de functionaliteit die bediend kan worden door beweging van het toestel of de gebruiker bediend kan worden via gebruiksinterface componenten en dat reageren op de beweging kan afgezet worden om accidentele actuatie te voorkomen, behalve waar: Ondersteunde Interface: De beweging gebruikt wordt om de functionaliteit te bedienen rond een toegankelijkheid ondersteunende interface; Essentieel: De beweging is essentieel voor het goed functioneren en deze niet gebruiken zou de activiteit onmogelijk maken.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Controleer dat de afmeting van het doelwit voor pointer invoer minstens 44 op 44 CSS pixels groot is, behalve indien: Equivalent: Het doelwit beschikbaar is door een equivalente link of besturing op dezelfde pagina die minstens 44 op 44 CSS pixels groot is Inline: Het doel een zin of een blok tekst is User Agent Beheer: De afmeting van het doelwit bepaald wordt dooe de User Agent en niet gewijzigd werd door de auteur Essentieel: Een specifieke voorstelling van het doelwit is essentieel voor de over te brengen informatie. ,", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Controleer dat de inhoud het gebruik van invoermiddelen beschikbaar op een platform niet beperkt behalve indien deze beperking essentieel is, vereist om de veiligheid van de inhoud te verzekeren of gebruikersinstellingen te respecteren.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "Het html element zou een lang of xml:lang attribuut moeten bevatten dat de taal van het document beschrijft.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "De taal gespecifieerd in het lang attribuut van het document lijkt niet correct geformuleerd.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "De taal gespecifieerd in het xml:lang attribuut van het document lijkt niet correct geformuleerd.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Controleer dat elke taalwijziging aangeduid wordt met het lang en/of xml:lang attribuut op een element, waar toepasselijk.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "De taal gespecifieerd in het lang attribuut van dit element lijkt niet correct geformuleerd.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "De taal gespecifieerd in het xml:lang attribuut van dit element lijkt niet correct geformuleerd.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Controleer of er een mechanisme beschikbaar is voor het identificeren van specifieke definities van woorden en zinnen die in een ongebruikelijke of beperkte manier gebruikt worden, inclusief idiomen en jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Controleer of er een mechanisme beschikbaar is voor het identificeren van de volledige vorm of betekenis van afkortingen", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Waar de inhoud een leesniveau vereist dat verder gevorderd is dan lager middelbaar onderwijs, zou bijkomende inhoud of een alternatieve versie voorzien moeten worden.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element bevat geen rt element met uitspraakinformatie voor de body tekst.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element bevat geen rt element met uitspraakinformatie voor de tekst binnen het rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element bevat geen rp element dat extra punctuering aanbiedt aan browsers die geen ruby tekst ondersteunen", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Controleer dat er geen contextwijziging optreedt indien de focus op dit invoerveld valt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'Dit formulier heeft geen submit knop, wat problemen veroorzaakt voor zij die het formulier niet met het toetsenbord kunnen indienen. Submit knoppen zijn input elementen met type attribuut "submit" of "image" of button elementen met type "submit" een ongeldig of leeg type attribuut.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Controleer dat navigatiemechanismes die herhaald worden op meerdere webpagina's in dezelfde volgorde voorkomen iedere keer dat ze herhaald worden, tenzij een wijziging door de gebruiker werd veroorzaakt.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Controleer dat componenten met dezelfde functionaliteit binnen deze webpagina consistent geÔdentificeerd worden in de set webpagina's waartoe deze behoort.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Controleer dat de link tekst van deze link informatie bevat die weergeeft dat deze link in een nieuw venster zal openen.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "Als een invoerfout automatisch gedetecteerd wordt in dit formulier, controleer dan dat de foute zaken geÔdentificeerd worden en de fouten als tekst aan de gebruiker worden beschreven.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Controleer of beschrijvende labels of instructies (inclusief voor verplichte velden) voorzien zijn voor gebruikersinvoer in dit formulier.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Controleer of dit formulier verbeteringssuggesties doet voor fouten in gebruikersinvoer, tenzij dit de veiligheid of het doel van de inhoud in gevaar brengt.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "Indien dit formulier de gebruiker tot een financieel of legaal engagement verplicht, gebruiker-beheerbare gegevens wijzigt of verwijdert of test-antwoorden indient, zorg er dan voor dat indiening omkeerbaar is, gecontroleerd wordt voor invoerfouten en/of bevestigd wordt door de gebruiker.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Controleer of contextgevoelige hulp beschikbaar is voor dit formulier, op niveau van de webpagina of het besturingselement.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Controleer of indieningen voor dit formulier ofwel omkeerbaar zijn, gecontroleerd worden op invoerfouten en/of bevestigd worden door de gebruiker.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anker element gevonden met een ID maar zonder een href of link tekst. Overweeg om de ID naar het bovenliggend of een nabijgelegen element te verhuizen.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anker element gevonden met een name attribuut maar zonder een href of link tekst. Overweeg om het naam attribuut als ID naar het bovenliggend of een nabijgelegen element te verhuizen.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anker element gevonden zonder linkinhoud en zonder name of ID attribuut.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anker elementen zouden niet gebruikt mogen worden voor in-pagina linkbestemmingen. Indien de ID niet voor andere doeleinden (zoals CSS of scripting) gebruikt wordt, overweeg deze te verhuizen naar een bovenliggend element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anker element gevonden binnen link inhoud, maar zonder dat er een href, ID of name attribuut voorzien is.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anker element gevonden met een geldig href attribuut, maar zonder linkinhoud.", helpUrl: [], @@ -1573,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Controleer dat statusboodschappen programmatisch bepaald kunnen worden door rol of eigenschappen zodanig dat ze aan de gebruiker kunnen beschikbaar gesteld worden via hulptechnologie zonder de focus te krijgen.", helpUrl: [], diff --git a/kayle/lib/rules/no_NB/htmlcs-rules.ts b/kayle/lib/rules/no_NB/htmlcs-rules.ts index 2ec371c5..1b552aff 100644 --- a/kayle/lib/rules/no_NB/htmlcs-rules.ts +++ b/kayle/lib/rules/no_NB/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Img element with empty alt text must have absent or empty title attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Img element is marked so that it is ignored by Assistive Technology.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Ensure that the img element's alt text serves the same purpose and presents the same information as the image.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Image submit button missing an alt attribute. Specify a text alternative that describes the button's function, using the alt attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Ensure that the image submit button's alt text identifies the purpose of the button.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Area element in an image map missing an alt attribute. Each area element must have a text alternative that describes the function of the image map area.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Ensure that the area element's text alternative serves the same purpose as the part of image map image it references.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "If this image cannot be fully described in a short text alternative, ensure a long text alternative is also available, such as in the body text or through a link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Img element inside a link must not use alt text that duplicates the text content of the link.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Img element inside a link has empty or missing alt text when a link beside it contains link text. Consider combining the links.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Img element inside a link must not use alt text that duplicates the content of a text link beside it.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Object elements must contain a text alternative after all other alternatives are exhausted.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: "Applet elements must contain a text alternative in the element's body, for browsers without support for the applet element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet elements must contain an alt attribute, to provide a text alternative to browsers supporting the element but are unable to load the applet.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Check that short (and if appropriate, long) text alternatives are available for non-text content that serve the same purpose and present the same information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "If this embedded object contains pre-recorded audio only, and is not provided as an alternative for text content, check that an alternative text version is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "If this embedded object contains pre-recorded video only, and is not provided as an alternative for text content, check that an alternative text version is available, or an audio track is provided that presents equivalent information.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that captions are provided for audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media and is not provided as an alternative for text content, check that an audio description of its video, and/or an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "If this embedded object contains synchronised media, check that captions are provided for live audio content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "If this embedded object contains pre-recorded synchronised media, check that an audio description is provided for its video content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "If this embedded object contains pre-recorded synchronised media, check that a sign language interpretation is provided for its audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "If this embedded object contains synchronised media, and where pauses in foreground audio is not sufficient to allow audio descriptions to convey the sense of pre-recorded video, check that an extended audio description is provided, either through scripting or an alternate version.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "If this embedded object contains pre-recorded synchronised media or video-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "If this embedded object contains live audio-only content, check that an alternative text version of the content is provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'This element\'s role is "presentation" but contains child elements with semantic meaning.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'This label\'s "for" attribute contains an ID for an element that is not a form control. Ensure that you have entered the correct ID for the intended element.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H65", + ruleId: "Principle1.Guideline1_3.1_3_1_H65", description: 'This form control has a "title" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA6", + ruleId: "Principle1.Guideline1_3.1_3_1_ARIA6", description: 'This form control has an "aria-label" attribute that is empty or contains only spaces. It will be ignored for labelling test purposes.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_ARIA16,ARIA9", - description: - 'This form control contains an aria-labelledby attribute, however it includes an ID "{{id}}" that does not exist on an element. The aria-labelledby attribute will be ignored for labelling test purposes.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/ARIA16", - "https://www.w3.org/TR/WCAG20-TECHS/ARIA9", - ], - ruleType: "warning", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.Hidden", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.Hidden", description: "This hidden form field is labelled in some way. There should be no need to label a hidden form field.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68.HiddenAttr", + ruleId: "Principle1.Guideline1_3.1_3_1_F68.HiddenAttr", description: 'This form field is intended to be hidden (using the "hidden" attribute), but is also labelled in some way. There should be no need to label a hidden form field.', helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F68", + ruleId: "Principle1.Guideline1_3.1_3_1_F68", description: 'This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.", description: "Presentational markup used that has become obsolete in HTML5.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.H49.AlignAttr", + ruleId: "Principle1.Guideline1_3.H49.AlignAttr", description: "Align attributes .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H49.AlignAttr.Semantic", + ruleId: "Principle1.Guideline1_3.1_3_1_H49.AlignAttr.Semantic", description: "Semantic markup should be used to mark emphasised or special text so that it can be programmatically determined.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42", + ruleId: "Principle1.Guideline1_3.1_3_1_H42", description: "Heading markup should be used if this content is intended as a heading.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.3", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.3", description: "Table cell has an invalid scope attribute. Valid values are row, col, rowgroup, or colgroup.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.2", description: "Scope attributes on td elements that act as headings for other elements are obsolete in HTML5. Use a th element instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.ScopeAmbiguous", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.ScopeAmbiguous", description: "Scope attributes on th elements are ambiguous in a table with multiple levels of headings. Use the headers attribute on td elements instead.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttrNotice", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.IncorrectAttrNotice", description: "Check that headers attribute on td elements are correct.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.IncorrectAttr", - description: - 'Incorrect headers attribute on this td element. Expected "{{expected}}" but found "{{actual}}"', - helpUrl: ["https://www.w3.org/TR/WCAG20-TECHS/H43"], - ruleType: "error", - }, - { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.HeadersRequired", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.HeadersRequired", description: "The relationship between td elements and their associated th elements is not defined. As this table has multiple levels of th elements, you must use the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeaderIds", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeaderIds", description: "Not all th elements in this table contain an id attribute. These cells should contain ids so that they may be referenced by td elements' headers attributes.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43.MissingHeadersAttrs", + ruleId: "Principle1.Guideline1_3.1_3_1_H43.MissingHeadersAttrs", description: "Not all td elements in this table contain a headers attribute. Each headers attribute should list the ids of all th elements associated with that cell.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H63.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H63.1", description: "Not all th elements in this table have a scope attribute. These cells should contain a scope attribute to identify their association with td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H43,H63", + ruleId: "Principle1.Guideline1_3.1_3_1_H43,H63", description: "The relationship between td elements and their associated th elements is not defined. Use either the scope attribute on th elements, or the headers attribute on td elements.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.LayoutTable", description: "This table appears to be used for layout, but contains a summary attribute. Layout tables must not contain summary attributes, or if supplied, must be empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39,H73.4", + ruleId: "Principle1.Guideline1_3.1_3_1_H39,H73.4", description: "If this table is a data table, and both a summary attribute and a caption element are present, the summary should not duplicate the caption.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.Check", description: "If this table is a data table, check that the summary attribute describes the table's organization or explains how to use the table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H73.3.NoSummary", + ruleId: "Principle1.Guideline1_3.1_3_1_H73.3.NoSummary", description: "If this table is a data table, consider using the summary attribute of the table element to give an overview of this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.LayoutTable", description: "This table appears to be used for layout, but contains a caption element. Layout tables must not contain captions.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.Check", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.Check", description: "If this table is a data table, check that the caption element accurately describes this table.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H39.3.NoCaption", + ruleId: "Principle1.Guideline1_3.1_3_1_H39.3.NoCaption", description: "If this table is a data table, consider using a caption element to the table element to identify this table.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.NoLegend", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.NoLegend", description: "Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H85.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H85.2", description: "If this selection list contains groups of related options, they should be grouped with optgroup.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H71.SameName", + ruleId: "Principle1.Guideline1_3.1_3_1_H71.SameName", description: "If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.1", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.1", description: "This content looks like it is simulating an unordered list using plain text. If so, marking up this content with a ul element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48.2", + ruleId: "Principle1.Guideline1_3.1_3_1_H48.2", description: "This content looks like it is simulating an ordered list using plain text. If so, marking up this content with an ol element would add proper structure information to the document.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H42.2", + ruleId: "Principle1.Guideline1_3.1_3_1_G141_a", + description: + "The heading structure is not logically nested. This h{{headingNum}} element appears to be the primary document heading, so should be an h1 element.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_1_H42.2", description: "Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H48", + ruleId: "Principle1.Guideline1_3.1_3_1_H48", description: "If this element contains a navigation section, it is recommended that it be marked up as a list.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_LayoutTable", + ruleId: "Principle1.Guideline1_3.1_3_1_LayoutTable", description: "This table appears to be a layout table. If it is meant to instead be a data table, ensure header cells are identified using th elements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_DataTable", + ruleId: "Principle1.Guideline1_3.1_3_1_DataTable", description: "This table appears to be a data table. If it is meant to instead be a layout table, ensure there are no th elements, and no summary or caption.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_2.1_3_2_G57", + ruleId: "Principle1.Guideline1_3.1_3_2_G57", description: "Check that the content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_3.1_3_3_G96", + ruleId: "Principle1.Guideline1_3.1_3_3_G96", description: "Where instructions are provided for understanding the content, do not rely on sensory characteristics alone (such as shape, size or location) to describe objects.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_4.1_3_4.RestrictView", + ruleId: "Principle1.Guideline1_3.1_3_4.RestrictView", description: "Check that content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.Purpose", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.FaultyValue", + description: + "This element contains a potentially faulty value in its autocomplete attribute: {{valuesStr}}.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Text", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Text control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Multiline", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Multiline control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Password", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Password control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Url", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Url control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Telephone", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Telephone control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Numeric", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Numeric control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Month", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Month control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.InvalidAutoComplete_Date", + description: + "Invalid autocomplete value: {{x}}. Element does not belong to Date control group.", + helpUrl: [], + ruleType: "error", + }, + { + ruleId: "Principle1.Guideline1_3.1_3_5_H98.Purpose", description: "Check that the input field serves a purpose identified in the Input Purposes for User Interface Components section; and that the content is implemented using technologies with support for identifying the expected meaning for form input data.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_5.1_3_5_H98.MissingAutocomplete", + ruleId: "Principle1.Guideline1_3.1_3_5_H98.MissingAutocomplete", description: "This element does not have an autocomplete attribute. If this field collects information about the user, consider adding one to comply with this Success Criterion.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_6.1_3_6_ARIA11.Check", + ruleId: "Principle1.Guideline1_3.1_3_6_ARIA11.Check", description: "Check that the purpose of User Interface Components, icons, and regions can be programmatically determined.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_1.1_4_1_G14,G18", + ruleId: "Principle1.Guideline1_4.1_4_1_G14,G18", description: "Check that any information conveyed using colour alone is also available in text, or through other visual cues.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Check", description: "Check that content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for: Vertical scrolling content at a width equivalent to 320 CSS pixels; Horizontal scrolling content at a height equivalent to 256 CSS pixels; Except for parts of the content which require two-dimensional layout for usage or meaning.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Fixed", description: 'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.', helpUrl: [], @@ -879,694 +930,729 @@ export const htmlcsRules = [ }, { ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", + "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Scrolling", description: "Preformatted text may require scrolling in two dimensions, which is considered a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_10.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", + ruleId: "Principle1.Guideline1_4.1_4_10_C32,C31,C33,C38,SCR34,G206.Zoom", description: "Interfering with a user agent's ability to zoom may be a failure of this Success Criterion.", helpUrl: [], ruleType: "warning", }, { - ruleId: - "Principle1.Guideline1_4_1_4_11.1_4_11_G195,G207,G18,G145,G174,F78.Check", + ruleId: "Principle1.Guideline1_4.1_4_11_G195,G207,G18,G145,G174,F78.Check", description: "Check that the visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s): User Interface Components: Visual information required to identify user interface components and states, except for inactive components or where the appearance of the component is determined by the user agent and not modified by the author; Graphical Objects: Parts of graphics required to understand the content, except when a particular presentation of graphics is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_12.1_4_12_C36,C35.Check", + ruleId: "Principle1.Guideline1_4.1_4_12_C36,C35.Check", description: "Check that no loss of content or functionality occurs by setting all of the following and by changing no other style property: Line height (line spacing) to at least 1.5 times the font size; Spacing following paragraphs to at least 2 times the font size; Letter spacing (tracking) to at least 0.12 times the font size; Word spacing to at least 0.16 times the font size.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_13.1_4_13_F95.Check", + ruleId: "Principle1.Guideline1_4.1_4_13_F95.Check", description: "Check that where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true: Dismissable: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content communicates an input error or does not obscure or replace other content; Hoverable: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; Persistent: The additional content remains visible until the hover or focus trigger is removed, the user dismisses it, or its information is no longer valid.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_2.1_4_2_F23", + ruleId: "Principle1.Guideline1_4.1_4_2_F23", description: "If this element contains audio that plays automatically for longer than 3 seconds, check that there is the ability to pause, stop or mute the audio.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.BGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgGradient", + description: + "This element's text is placed on a gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_G18_or_G145.Alpha", + description: + "This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_3_F24.BGColour", description: "Check that this element has an inherited foreground colour to complement the corresponding inline background colour or image.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_3_F24.1_4_3_F24.FGColour", + ruleId: "Principle1.Guideline1_4.1_4_3_F24.FGColour", description: "Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_4_1_4_4.1_4_4_G142", + ruleId: "Principle1.Guideline1_4.1_4_4_G142", description: "Check that text can be resized without assistive technology up to 200 percent without loss of content or functionality.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_5.1_4_5_G140,C22,C30.AALevel", + ruleId: "Principle1.Guideline1_4.1_4_5_G140,C22,C30.AALevel", description: "If the technologies being used can achieve the visual presentation, check that text is used to convey information rather than images of text, except when the image of text is essential to the information being conveyed, or can be visually customised to the user's requirements.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_7.1_4_7_G56", + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G145.BgGradient", + description: "HTMLCS.getTranslation('1_4_6_G18_or_G145.BgGradient')", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.Abs", + description: + "This element is absolutely positioned and the background color can not be determined. Ensure the contrast ratio between the text and all covered parts of the background are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_6_G18_or_G17.BgImage", + description: + "This element's text is placed on a background image. Ensure the contrast ratio between the text and all covered parts of the image are at least {{required}}:1.", + helpUrl: [], + ruleType: "warning", + }, + { + ruleId: "Principle1.Guideline1_4.1_4_7_G56", description: "For pre-recorded audio-only content in this element that is primarily speech (such as narration), any background sounds should be muteable, or be at least 20 dB (or about 4 times) quieter than the speech.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G148,G156,G175", + ruleId: "Principle1.Guideline1_4.1_4_8_G148,G156,G175", description: "Check that a mechanism is available for the user to select foreground and background colours for blocks of text, either through the Web page or the browser.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,C20", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,C20", description: "Check that a mechanism exists to reduce the width of a block of text to no more than 80 characters (or 40 in Chinese, Japanese or Korean script).", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_C19,G172,G169", + ruleId: "Principle1.Guideline1_4.1_4_8_C19,G172,G169", description: "Check that blocks of text are not fully justified - that is, to both left and right edges - or a mechanism exists to remove full justification.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_G188,C21", + ruleId: "Principle1.Guideline1_4.1_4_8_G188,C21", description: "Check that line spacing in blocks of text are at least 150% in paragraphs, and paragraph spacing is at least 1.5 times the line spacing, or that a mechanism is available to achieve this.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_8.1_4_8_H87,G146,C26", + ruleId: "Principle1.Guideline1_4.1_4_8_H87,G146,C26", description: "Check that text can be resized without assistive technology up to 200 percent without requiring the user to scroll horizontally on a full-screen window.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_4_1_4_9.1_4_9_G140,C22,C30.NoException", + ruleId: "Principle1.Guideline1_4.1_4_9_G140,C22,C30.NoException", description: "Check that images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_G90", + ruleId: "Principle2.Guideline2_1.2_1_1_G90", description: "Ensure the functionality provided by an event handler for this element is available through the keyboard", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.DblClick", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.DblClick", description: "Ensure the functionality provided by double-clicking on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOver", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOver", description: "Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseOut", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseOut", description: "Ensure the functionality provided by mousing out of this element is available through the keyboard; for instance, using the blur event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseMove", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseMove", description: "Ensure the functionality provided by moving the mouse on this element is available through the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseDown", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseDown", description: "Ensure the functionality provided by mousing down on this element is available through the keyboard; for instance, using the keydown event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_1.2_1_1_SCR20.MouseUp", + ruleId: "Principle2.Guideline2_1.2_1_1_SCR20.MouseUp", description: "Ensure the functionality provided by mousing up on this element is available through the keyboard; for instance, using the keyup event.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_2.2_1_2_F10", + ruleId: "Principle2.Guideline2_1.2_1_2_F10", description: "Check that this applet or plugin provides the ability to move the focus away from itself when using the keyboard.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_1_2_1_4.2_1_4.Check", + ruleId: "Principle2.Guideline2_1.2_1_4.Check", description: "Check that if a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true: Turn off: A mechanism is available to turn the shortcut off; Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc); Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F40.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F40.2", description: "Meta refresh tag used to redirect to another page, with a time limit that is not zero. Users cannot control this time limit.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_1.2_2_1_F41.2", + ruleId: "Principle2.Guideline2_2.2_2_1_F41.2", description: "Meta refresh tag used to refresh the current page. Users cannot control the time limit for this refresh.", helpUrl: [], ruleType: "error", }, { - ruleId: - "Principle2.Guideline2_2_2_2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", + ruleId: "Principle2.Guideline2_2.2_2_2_SCR33,SCR22,G187,G152,G186,G191", description: "If any part of the content moves, scrolls or blinks for more than 5 seconds, or auto-updates, check that there is a mechanism available to pause, stop, or hide the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F4", + ruleId: "Principle2.Guideline2_2.2_2_2_F4", description: "Ensure there is a mechanism available to stop this blinking element in less than five seconds.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_2_2_2_2.2_2_2_F47", + ruleId: "Principle2.Guideline2_2.2_2_2_F47", description: "Blink elements cannot satisfy the requirement that blinking information can be stopped within five seconds.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_2_2_2_3.2_2_3_G5", + ruleId: "Principle2.Guideline2_2.2_2_3_G5", description: "Check that timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_4.2_2_4_SCR14", + ruleId: "Principle2.Guideline2_2.2_2_4_SCR14", description: "Check that all interruptions (including updates to content) can be postponed or suppressed by the user, except interruptions involving an emergency.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_5.2_2_5_G105,G181", + ruleId: "Principle2.Guideline2_2.2_2_5_G105,G181", description: "If this Web page is part of a set of Web pages with an inactivity time limit, check that an authenticated user can continue the activity without loss of data after re-authenticating.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_2_2_2_6.2_2_6.Check", + ruleId: "Principle2.Guideline2_2.2_2_6.Check", description: "Check that users are warned of the duration of any user inactivity that could cause data loss, unless the data is preserved for more than 20 hours when the user does not take any actions.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_1.2_3_1_G19,G176", + ruleId: "Principle2.Guideline2_3.2_3_1_G19,G176", description: "Check that no component of the content flashes more than three times in any 1-second period, or that the size of any flashing area is sufficiently small.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_2.2_3_2_G19", + ruleId: "Principle2.Guideline2_3.2_3_2_G19", description: "Check that no component of the content flashes more than three times in any 1-second period.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_3_2_3_3.2_3_3.Check", + ruleId: "Principle2.Guideline2_3.2_3_3.Check", description: "Check that motion animation triggered by interaction can be disabled, unless the animation is essential to the functionality or the information being conveyed.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.1", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.1", description: "Iframe element requires a non-empty title attribute that identifies the frame.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_H64.2", + ruleId: "Principle2.Guideline2_4.2_4_1_H64.2", description: "Check that the title attribute of this element contains text that identifies the frame.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124,H69", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124,H69", description: "Ensure that any common navigation elements can be bypassed; for instance, by use of skip links, header elements, or ARIA landmark roles.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchID", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchID", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_1.2_4_1_G1,G123,G124.NoSuchIDFragment", + ruleId: "Principle2.Guideline2_4.2_4_1_G1,G123,G124.NoSuchIDFragment", description: 'This link points to a named anchor "{{id}}" within the document, but no anchor exists with that name in the fragment tested.', - helpUrl: [ - "https://www.w3.org/TR/WCAG20-TECHS/G1", - "https://www.w3.org/TR/WCAG20-TECHS/G123", - "https://www.w3.org/TR/WCAG20-TECHS/G124", - ], + helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoHeadEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoHeadEl", description: "There is no head section in which to place a descriptive title element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.NoTitleEl", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.NoTitleEl", description: "A title should be provided for the document, using a non-empty title element in the head section.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.1.EmptyTitle", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.1.EmptyTitle", description: "The title element in the head section should be non-empty.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_2.2_4_2_H25.2", + ruleId: "Principle2.Guideline2_4.2_4_2_H25.2", description: "Check that the title element describes the document.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_3.2_4_3_H4.2", + ruleId: "Principle2.Guideline2_4.2_4_3_H4.2", description: "If tabindex is used, check that the tab order specified by the tabindex attributes follows relationships in the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81,H33", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81,H33", description: "Check that the link text combined with programmatically determined link context, or its title attribute, identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_4.2_4_4_H77,H78,H79,H80,H81", + ruleId: "Principle2.Guideline2_4.2_4_4_H77,H78,H79,H80,H81", description: "Check that the link text combined with programmatically determined link context identifies the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_5.2_4_5_G125,G64,G63,G161,G126,G185", + ruleId: "Principle2.Guideline2_4.2_4_5_G125,G64,G63,G161,G126,G185", description: "If this Web page is not part of a linear process, check that there is more than one way of locating this Web page within a set of Web pages.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_6.2_4_6_G130,G131", + ruleId: "Principle2.Guideline2_4.2_4_6_G130,G131", description: "Check that headings and labels describe topic or purpose.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_7.2_4_7_G149,G165,G195,C15,SCR31", + ruleId: "Principle2.Guideline2_4.2_4_7_G149,G165,G195,C15,SCR31", description: "Check that there is at least one mode of operation where the keyboard focus indicator can be visually located on user interface controls.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.1", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.1", description: "Link elements can only be located in the head section of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2a", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2a", description: "Link element is missing a non-empty rel attribute identifying the link type.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_8.2_4_8_H59.2b", + ruleId: "Principle2.Guideline2_4.2_4_8_H59.2b", description: "Link element is missing a non-empty href attribute pointing to the resource being linked.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle2.Guideline2_4_2_4_9.2_4_9_H30", + ruleId: "Principle2.Guideline2_4.2_4_9_H30", description: "Check that text of the link describes the purpose of the link.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_1.2_5_1.Check", + ruleId: "Principle2.Guideline2_5.2_5_1.Check", description: "Check that all functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.SinglePointer_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.SinglePointer_Check", description: "Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Mousedown_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Mousedown_Check", description: "This element has an mousedown event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_2.2_5_2.Touchstart_Check", + ruleId: "Principle2.Guideline2_5.2_5_2.Touchstart_Check", description: "This element has a touchstart event listener. Check that for functionality that can be operated using a single pointer, at least one of the following is true: No Down-Event: The down-event of the pointer is not used to execute any part of the function; Abort or Undo: Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the function after completion; Up Reversal: The up-event reverses any outcome of the preceding down-event; Essential: Completing the function on the down-event is essential.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.Check", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.Check", description: "Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_3.2_5_3_F96.AccessibleName", + ruleId: "Principle2.Guideline2_5.2_5_3_F96.AccessibleName", description: "Accessible name for this element does not contain the visible label text. Check that for user interface components with labels that include text or images of text, the name contains the text that is presented visually.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Check", + ruleId: "Principle2.Guideline2_5.2_5_4.Check", description: "Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_4.2_5_4.Devicemotion", + ruleId: "Principle2.Guideline2_5.2_5_4.Devicemotion", description: "This element has a devicemotion event listener. Check that functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when: Supported Interface: The motion is used to operate functionality through an accessibility supported interface; Essential: The motion is essential for the function and doing so would invalidate the activity. ", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle2.Guideline2_5_2_5_5.2_5_5.Check", + ruleId: "Principle2.Guideline2_5.2_5_5.Check", description: "Check that the size of the target for pointer inputs is at least 44 by 44 CSS pixels except when: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed. ", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle2.Guideline2_5_2_5_6.2_5_6.Check", + ruleId: "Principle2.Guideline2_5.2_5_6.Check", description: "Check that the content does not restrict use of input modalities available on a platform except where the restriction is essential, required to ensure the security of the content, or required to respect user settings.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.2", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.2", description: "The html element should have a lang or xml:lang attribute which describes the language of the document.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.Lang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.Lang", description: "The language specified in the lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_1.3_1_1_H57.3.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_1_H57.3.XmlLang", description: "The language specified in the xml:lang attribute of the document element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58", + ruleId: "Principle3.Guideline3_1.3_1_2_H58", description: "Ensure that any change in language is marked using the lang and/or xml:lang attribute on an element, as appropriate.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.Lang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.Lang", description: "The language specified in the lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_2.3_1_2_H58.1.XmlLang", + ruleId: "Principle3.Guideline3_1.3_1_2_H58.1.XmlLang", description: "The language specified in the xml:lang attribute of this element does not appear to be well-formed.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_3.3_1_3_H40,H54,H60,G62,G70", + ruleId: "Principle3.Guideline3_1.3_1_3_H40,H54,H60,G62,G70", description: "Check that there is a mechanism available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_4.3_1_4_G102,G55,G62,H28,G97", + ruleId: "Principle3.Guideline3_1.3_1_4_G102,G55,G62,H28,G97", description: "Check that a mechanism for identifying the expanded form or meaning of abbreviations is available.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_5.3_1_5_G86,G103,G79,G153,G160", + ruleId: "Principle3.Guideline3_1.3_1_5_G86,G103,G79,G153,G160", description: "Where the content requires reading ability more advanced than the lower secondary education level, supplemental content or an alternative version should be provided.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.HTML5", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.HTML5", description: "Ruby element does not contain an rt element containing pronunciation information for its body text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.1.XHTML11", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.1.XHTML11", description: "Ruby element does not contain an rt element containing pronunciation information for the text inside the rb element.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_1_3_1_6.3_1_6_H62.2", + ruleId: "Principle3.Guideline3_1.3_1_6_H62.2", description: "Ruby element does not contain rp elements, which provide extra punctuation to browsers not supporting ruby text.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_1.3_2_1_G107", + ruleId: "Principle3.Guideline3_2.3_2_1_G107", description: "Check that a change of context does not occur when this input field receives focus.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_2.3_2_2_H32.2", + ruleId: "Principle3.Guideline3_2.3_2_2_H32.2", description: 'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle3.Guideline3_2_3_2_3.3_2_3_G61", + ruleId: "Principle3.Guideline3_2.3_2_3_G61", description: "Check that navigational mechanisms that are repeated on multiple Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_4.3_2_4_G197", + ruleId: "Principle3.Guideline3_2.3_2_4_G197", description: "Check that components that have the same functionality within this Web page are identified consistently in the set of Web pages to which it belongs.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_2_3_2_5.3_2_5_H83.3", + ruleId: "Principle3.Guideline3_2.3_2_5_H83.3", description: "Check that this link's link text contains information indicating that the link will open in a new window.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle3.Guideline3_3_3_3_1.3_3_1_G83,G84,G85", + ruleId: "Principle3.Guideline3_3.3_3_1_G83,G84,G85", description: "If an input error is automatically detected in this form, check that the item(s) in error are identified and the error(s) are described to the user in text.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_2.3_3_2_G131,G89,G184,H90", + ruleId: "Principle3.Guideline3_3.3_3_2_G131,G89,G184,H90", description: "Check that descriptive labels or instructions (including for required fields) are provided for user input in this form.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_3.3_3_3_G177", + ruleId: "Principle3.Guideline3_3.3_3_3_G177", description: "Check that this form provides suggested corrections to errors in user input, unless it would jeopardize the security or purpose of the content.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_4.3_3_4_G98,G99,G155,G164,G168.LegalForms", + ruleId: "Principle3.Guideline3_3.3_3_4_G98,G99,G155,G164,G168.LegalForms", description: "If this form would bind a user to a financial or legal commitment, modify/delete user-controllable data, or submit test responses, ensure that submissions are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle3.Guideline3_3_3_3_5.3_3_5_G71,G184,G193", + ruleId: "Principle3.Guideline3_3.3_3_5_G71,G184,G193", description: "Check that context-sensitive help is available for this form, at a Web-page and/or control level.", helpUrl: [], ruleType: "notice", }, { - ruleId: - "Principle3.Guideline3_3_3_3_6.3_3_6_G98,G99,G155,G164,G168.AllForms", + ruleId: "Principle3.Guideline3_3.3_3_6_G98,G99,G155,G164,G168.AllForms", description: "Check that submissions to this form are either reversible, checked for input errors, and/or confirmed by the user.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_null", + ruleId: "Principle4.Guideline4_1.4_1_2_null", description: "msg", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Empty", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Empty", description: "Anchor element found with an ID but without a href or link text. Consider moving its ID to a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyWithName", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyWithName", description: "Anchor element found with a name attribute but without a href or link text. Consider moving the name attribute to become an ID of a parent or nearby element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.EmptyNoId", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.EmptyNoId", description: "Anchor element found with no link content and no name and/or ID attribute.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoHref", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoHref", description: "Anchor elements should not be used for defining in-page link targets. If not using the ID for other purposes (such as CSS or scripting), consider moving it to a parent element.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.Placeholder", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.Placeholder", description: "Anchor element found with link content, but no href, ID or name attribute has been supplied.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle4.Guideline4_1_4_1_2.4_1_2_H91.A.NoContent", + ruleId: "Principle4.Guideline4_1.4_1_2_H91.A.NoContent", description: "Anchor element found with a valid href attribute, but no link content has been supplied.", helpUrl: [], @@ -1574,7 +1660,7 @@ export const htmlcsRules = [ }, { ruleId: - "Principle4.Guideline4_1_4_1_3.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", + "Principle4.Guideline4_1.4_1_3_ARIA22,G199,ARIA19,G83,G84,G85,G139,G177,G194,ARIA23.Check", description: "Check that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", helpUrl: [], diff --git a/kayle/lib/rules/pl/htmlcs-rules.ts b/kayle/lib/rules/pl/htmlcs-rules.ts index a77ed9e3..a8ecd778 100644 --- a/kayle/lib/rules/pl/htmlcs-rules.ts +++ b/kayle/lib/rules/pl/htmlcs-rules.ts @@ -127,14 +127,14 @@ export const htmlcsRules = [ ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.Linearised", + ruleId: "Principle1.Guideline1_3.Linearised", description: "Ensure that content is ordered in a meaningful sequence when linearised, such as when style sheets are disabled.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.HiddenText", + ruleId: "Principle1.Guideline1_3.HiddenText", description: 'If content is hidden and made visible using scripting (such as "click to expand" sections), ensure this content is readable when scripts and style sheets are disabled.', helpUrl: [], @@ -302,576 +302,627 @@ export const htmlcsRules = [ ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H30.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H30.2", description: "Grafika jest jedyną treścią linku i powinna zostać uzupełniona o opis alternatywny opisujący jego cel.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.1", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.1", description: "Grafika pełni funkcję dekoracyjną, więc zarówno atrybut alt, jak i title powinny być puste.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H67.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H67.2", description: "Grafika jest oznaczona jako dekoracyjna i będzie ignorowana przez technologie wspomagające np. czytniki ekranu.", helpUrl: [], ruleType: "warning", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H37", + ruleId: "Principle1.Guideline1_1.1_1_1_H37", description: "Znacznik nie ma atrybutu alt. Dodaj ten atrybut i wpisz do niego krótki opis grafiki.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Image", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Image", description: "Upewnij się, że opis alternatywny grafiki przekazuje tę samą informację, co sama grafika.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H36", + ruleId: "Principle1.Guideline1_1.1_1_1_H36", description: "Przycisk graficzny nie ma atrybutu alt. Dodaj do przycisku atrybut alt i opisz w nim funkcję przycisku.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94.Button", + ruleId: "Principle1.Guideline1_1.1_1_1_G94.Button", description: "Upewnij się, że opis alternatywny przycisku prawidłowo opisuje funkcję przycisku.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24", + ruleId: "Principle1.Guideline1_1.1_1_1_H24", description: "Element w grafaicznej mapie odsyłaczy nie ma atrybutu alt. Każdy taki obszar powinien mieć atrybut alt z opisem alternatywnym, który odpowiednio opisuje dany obszar.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H24.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H24.2", description: "Upewnij się, że opis alternatywny obszaru odpowiada jego funkcji lub treści.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G73,G74", + ruleId: "Principle1.Guideline1_1.1_1_1_G73,G74", description: "Jeśli krótki opis alternatywny nie opisuje wystarczająco treści prezentowanej przez grafikę, dodaj rozszerzony opis bezpośrednio na stronie lub na oddzielnej stronie.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG5", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG5", description: "Opis alternatywny elementu umieszczonego wewnątrz linku, nie może być taki sam jak tekst samego linku.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Element znajdujący się wewnątrz linku nie ma atrybutu alt lub alt jest pusty. Ponieważ w sąsiedztwie znajduje się tekst linku, zaleca się połączenie tych elementów w jedno łącze ze wspólnym opisem.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Element znajdujący się wewnątrz linku nie może mieć opisu alternatywnego tej samej treści, co tekst linku znajdujący się w jego sąsiedztwie.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG4", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG4", description: "Element znajdujący się wewnątrz linku nie ma atrybutu alt lub alt jest pusty. Ponieważ w sąsiedztwie znajduje się tekst linku, zaleca się połączenie tych elementów w jedno łącze ze wspólnym opisem.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H2.EG3", + ruleId: "Principle1.Guideline1_1.1_1_1_H2.EG3", description: "Element znajdujący się wewnątrz linku nie może mieć opisu alternatywnego tej samej treści, co tekst linku znajdujący się w jego sąsiedztwie.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H53,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_H53,ARIA6", description: "Element musi zawierać atrybut alt z wprowadzonym opisem alternatywnym, o ile nie został zapewniony żaden inny alternatywny opis tego elementu.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Object,ARIA6", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Object,ARIA6", description: "Sprawdź, czy krótkie lub długie teksty alternatywne są dostępne dla wszystkich elementów nietekstowych i możliwie najdokładniej je opisują.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.3", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.3", description: " powinien zawierać opis alternatywny wewnątrz znaczników . Zapewni to alternatywę w przeglądarkach, które nie obsługują elementu .", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_H35.2", + ruleId: "Principle1.Guideline1_1.1_1_1_H35.2", description: "Applet powinien mieć opis alternatywny w atrybucie alt, aby zapewnić wsparcie w przypadku problemów z załadowaniem zawartości.", helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_1_1_1_1.1_1_1_G94,G92.Applet", + ruleId: "Principle1.Guideline1_1.1_1_1_G94,G92.Applet", description: "Sprawdź, czy krótkie lub długie teksty alternatywne są dostępne dla wszystkich elementów nietekstowych i możliwie najdokładniej je opisują.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G158", + ruleId: "Principle1.Guideline1_2.1_2_1_G158", description: "Treść przedstawiona w sposób dźwiękowy powinna zostać uzupełniona dodatkową transkrypcją lub opisem alternatywnym.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_1.1_2_1_G159,G166", + ruleId: "Principle1.Guideline1_2.1_2_1_G159,G166", description: "Jeśli obiekt wideo (bez dźwięku) zamieszczony na stronie nie jest alternatywą dla tekstu, sprawdź, czy istnieje do niego alternatywa tekstowa lub ścieżka dźwiękowa prezentująca tę samą treść.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_2.1_2_2_G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_2_G87,G93", description: "Jeśli obiekt wideo ze ścieżką audio nie jest alternatywą dla tekstu, sprawdź, czy materiał ma napisy dla niesłyszących.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_3.1_2_3_G69,G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_3_G69,G78,G173,G8", description: "Jeśli obiekt wideo ze ścieżką audio nie jest alternatywą dla tekstu, sprawdź, czy materiał zawiera dodatkowo audiodeskrypcję obrazu i/lub opis alternatywny dla treści przedstawionych wyłącznie w formie obrazu.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_4.1_2_4_G9,G87,G93", + ruleId: "Principle1.Guideline1_2.1_2_4_G9,G87,G93", description: "Sprawdź, czy materiał wideo prezentowany na żywo ma napisy dla niesłyszących tworzone na żywo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_5.1_2_5_G78,G173,G8", + ruleId: "Principle1.Guideline1_2.1_2_5_G78,G173,G8", description: "Sprawdź, czy materiał wideo ma dołączoną audiodeskrypcję treści wizualnych.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_6.1_2_6_G54,G81", + ruleId: "Principle1.Guideline1_2.1_2_6_G54,G81", description: "Sprawdź, czy materiał wideo ma dołączone tłumaczenie na język migowy.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_7.1_2_7_G8", + ruleId: "Principle1.Guideline1_2.1_2_7_G8", description: "Jeśli materiał wideo, nie ma wystarczających pauz, by uzupełnić go o audiodeskrypcję, sprawdź, czy zamieszczona jest alternatywna wersja lub rozszerzona ścieżka dźwiękowa.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_8.1_2_8_G69,G159", + ruleId: "Principle1.Guideline1_2.1_2_8_G69,G159", description: "Sprawdź, czy materiał wideo lub wideo (sam obraz) jest umieszczony wraz z alternatywą tekstową.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_2_1_2_9.1_2_9_G150,G151,G157", + ruleId: "Principle1.Guideline1_2.1_2_9_G150,G151,G157", description: "Sprawdź, czy materiał audio przekazywany na żywo jest umieszczony wraz z wersją tekstową tworzoną na żywo.", helpUrl: [], ruleType: "notice", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_F92,ARIA4", + ruleId: "Principle1.Guideline1_3.1_3_1_F92,ARIA4", description: 'Ten element ma przypisaną rolę "presentation", ale zawiera też konkretne treści.', helpUrl: [], ruleType: "error", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.code", + ruleId: "Principle1.Guideline1_3.code", description: "msg", helpUrl: [], ruleType: "level", }, { - ruleId: "Principle1.Guideline1_3_1_3_1.1_3_1_H44.NotFormControl", + ruleId: "Principle1.Guideline1_3.1_3_1_H44.NotFormControl", description: 'Atrybut "for" znacznika