diff --git a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3.ts b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3.ts
index e8d1b845..77b69be7 100644
--- a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3.ts
+++ b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3.ts
@@ -29,6 +29,7 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3 = {
const required = failure.required;
const recommend = failure.recommendation;
const hasBgImg = failure.hasBgImage || false;
+ const hasBgGradient = failure.hasBgGradient || false;
const isAbsolute = failure.isAbsolute || false;
const hasAlpha = failure.hasAlpha || false;
@@ -46,6 +47,7 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3 = {
Math.pow(10, decimals);
}
+
if (required === 4.5) {
code = "G18";
} else if (required === 3.0) {
@@ -83,7 +85,18 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3 = {
".";
}
- if (isAbsolute === true) {
+ if (hasBgGradient === true) {
+ code += ".BgGradient";
+ HTMLCS.addMessage(
+ HTMLCS.WARNING,
+ element,
+ _global.HTMLCS.getTranslation("1_4_3_G18_or_G145.BgGradient").replace(
+ /\{\{required\}\}/g,
+ required + ""
+ ),
+ code
+ );
+ } else if (isAbsolute === true) {
code += ".Abs";
HTMLCS.addMessage(
HTMLCS.WARNING,
diff --git a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3_Contrast.ts b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3_Contrast.ts
index f54958e7..7965b098 100644
--- a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3_Contrast.ts
+++ b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_3_Contrast.ts
@@ -1,17 +1,17 @@
+// This logic needs refactoring.
_global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
testContrastRatio: function (top, minContrast, minLargeContrast) {
const failures = [];
- let toProcess = [];
+ const toProcess = [];
if (!top.ownerDocument) {
- toProcess = [];
const body = top.getElementsByTagName("body");
if (body.length) {
// SVG objects will not have a body element. Don't check them.
- toProcess = [body[0]];
+ toProcess.push(body[0]);
}
} else {
- toProcess = [top];
+ toProcess.push(top);
}
while (toProcess.length > 0) {
@@ -50,11 +50,17 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
let foreColour = style.color;
let hasBgImg = false;
let isAbsolute = false;
+ let hasBgGradient = false;
if (style.backgroundImage !== "none") {
hasBgImg = true;
}
+ if (style.background && style.background.includes("gradient(")) {
+ hasBgGradient = true;
+ break;
+ }
+
if (style.position == "absolute") {
isAbsolute = true;
}
@@ -93,6 +99,10 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
bgColour = parentStyle.backgroundColor;
+ if (parentStyle.background && parentStyle.background.includes("gradient(")) {
+ hasBgGradient = true;
+ break;
+ }
if (parentStyle.backgroundImage !== "none") {
hasBgImg = true;
}
@@ -103,6 +113,12 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
// Search for the smooth scrolling willChange: 'transform' background hack
// See http://fourkitchens.com/blog/article/fix-scrolling-performance-css-will-change-property
const beforeStyle = HTMLCS.util.style(parent, ":before");
+
+ if (beforeStyle.background.includes("gradient(")) {
+ hasBgGradient = true;
+ break;
+ }
+
if (
beforeStyle &&
beforeStyle.position == "fixed" &&
@@ -110,10 +126,10 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
//Make sure it is trying to cover the entire content area
beforeStyle.width == parentStyle.width &&
parseInt(beforeStyle.height, 10) <=
- parseInt(parentStyle.height, 10) &&
- //And finally it needs a background image
- beforeStyle.backgroundImage !== "none"
+ parseInt(parentStyle.height, 10) &&
+ beforeStyle.backgroundImage !== "none"
) {
+ //And finally it needs a background image
hasBgImg = true;
break;
}
@@ -123,7 +139,18 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_3_Contrast = {
const bgAlpha = HTMLCS.util.colourStrToRGB(bgColour).alpha;
const fgAlpha = HTMLCS.util.colourStrToRGB(foreColour).alpha;
- if (bgColour && bgAlpha < 1.0 && bgAlpha > 0) {
+ if (hasBgGradient) {
+ failures.push({
+ element: node,
+ colour: foreColour,
+ bgColour: bgColour,
+ value: undefined,
+ required: reqRatio,
+ hasAlpha: false,
+ hasBgGradient: true
+ });
+ continue;
+ } else if (bgColour && bgAlpha < 1.0 && bgAlpha > 0) {
// If we have a rgba background colour, skip the contrast ratio checks,
// and push a warning instead.
failures.push({
diff --git a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_6.ts b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_6.ts
index 8a6af59e..793c07b6 100644
--- a/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_6.ts
+++ b/fast_htmlcs/Standards/WCAG2AAA/Sniffs/Principle1/Guideline1_4/1_4_6.ts
@@ -29,7 +29,9 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_6 = {
const recommend = failure.recommendation;
const hasBgImg = failure.hasBgImage || false;
const isAbsolute = failure.isAbsolute || false;
+ const hasBgGradient = failure.hasBgGradient || false;
const element = failure.element;
+
let code = "";
let decimals = 2;
let value =
@@ -80,7 +82,18 @@ _global.HTMLCS_WCAG2AAA_Sniffs_Principle1_Guideline1_4_1_4_6 = {
".";
}
- if (isAbsolute === true) {
+ if (hasBgGradient === true) {
+ code += ".BgGradient";
+ HTMLCS.addMessage(
+ HTMLCS.WARNING,
+ element,
+ _global.HTMLCS.getTranslation("1_4_6_G18_or_G145.BgGradient").replace(
+ /\{\{required\}\}/g,
+ required + ""
+ ),
+ code
+ );
+ } else if (isAbsolute === true) {
code += ".Abs";
HTMLCS.addMessage(
HTMLCS.WARNING,
diff --git a/fast_htmlcs/Translations/en.ts b/fast_htmlcs/Translations/en.ts
index 17f858d5..e080ad3a 100644
--- a/fast_htmlcs/Translations/en.ts
+++ b/fast_htmlcs/Translations/en.ts
@@ -183,6 +183,8 @@ _global.translation["en"] = {
"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.",
"1_4_3_G18_or_G145.BgImage":
"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.",
+ "1_4_3_G18_or_G145.BgGradient":
+ "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.",
"1_4_3_G18_or_G145.Alpha":
"This element's text or background contains transparency. Ensure the contrast ratio between the text and background are at least {{required}}:1.",
"1_4_3_G18_or_G145.Fail":
@@ -200,6 +202,8 @@ _global.translation["en"] = {
"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.",
"1_4_6_G18_or_G17.BgImage":
"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.",
+ "1_4_6_G18_or_G17.BgGradient":
+ "This element's text is placed on a background gradient. Ensure the contrast ratio between the text and all covered parts of the gradient are at least {{required}}:1.",
"1_4_6_G18_or_G17.Fail":
"This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least {{required}}:1, but text in this element has a contrast ratio of {{value}}:1.",
"1_4_6_G18_or_G17.Fail.Recomendation": "Recommendation: ",
diff --git a/fast_htmlcs/Translations/es.ts b/fast_htmlcs/Translations/es.ts
index 5ea136a8..5dd4b833 100644
--- a/fast_htmlcs/Translations/es.ts
+++ b/fast_htmlcs/Translations/es.ts
@@ -196,6 +196,8 @@ _global.translation["es"] = {
"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.",
"1_4_3_G18_or_G145.BgImage":
"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.",
+ "1_4_3_G18_or_G17.BgGradient":
+ "El texto de este elemento se coloca sobre una gradiente de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas de el gradiente sea al menos de {{required}}:1.",
"1_4_3_G18_or_G145.Alpha":
"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.",
@@ -215,9 +217,10 @@ _global.translation["es"] = {
"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.",
"1_4_6_G18_or_G17.BgImage":
"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.",
+ "1_4_6_G18_or_G17.BgGradient":
+ "El texto de este elemento se coloca sobre una gradiente de fondo. Asegúrate de que la relación de contraste entre el texto y todas las partes cubiertas de el gradiente sea al menos de {{required}}:1.",
"1_4_6_G18_or_G17.Fail":
"Este elemento tiene un contraste insuficiente en este nivel de conformidad. Se espera una relación de contraste de al menos {{required}}:1, pero el texto de este elemento tiene una relación de contraste de {{value}}:1.",
-
"1_4_6_G18_or_G17.Fail.Recomendation": "Recomendación: ",
"1_4_6_G18_or_G17.Fail.Recomendation.Text":
"cambiar el color del texto a {{value}}",
diff --git a/fast_htmlcs/Translations/fr.ts b/fast_htmlcs/Translations/fr.ts
index 7a283da7..66f5bf9b 100644
--- a/fast_htmlcs/Translations/fr.ts
+++ b/fast_htmlcs/Translations/fr.ts
@@ -236,6 +236,9 @@ _global.translation["fr"] = {
"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.",
"1_4_3_G18_or_G145.BgImage":
"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.",
+ "1_4_3_G18_or_G145.BgGradient":
+ "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.",
+
"1_4_3_G18_or_G145.Alpha":
"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.",
"1_4_3_G18_or_G145.Fail":
@@ -259,6 +262,8 @@ _global.translation["fr"] = {
"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.",
"1_4_6_G18_or_G17.BgImage":
"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.",
+ "1_4_6_G18_or_G145.BgGradient":
+ "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.",
"1_4_6_G18_or_G17.Fail":
"Cet élément a un contraste insuffisant à ce niveau de conformité. On s'attendait à un rapport de contraste d'au moins {{required}}:1, mais le texte dans cet élément a un rapport de contraste de {{value}}:1.",
"1_4_6_G18_or_G17.Fail.Recomendation": "Recommandation : ",
diff --git a/fast_htmlcs/Translations/it.ts b/fast_htmlcs/Translations/it.ts
index 15ee1d44..408631aa 100644
--- a/fast_htmlcs/Translations/it.ts
+++ b/fast_htmlcs/Translations/it.ts
@@ -155,6 +155,8 @@ _global.translation["it"] = {
"Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.",
"1_4_3_G18_or_G145.Abs":
"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.",
+ "1_4_3_G18_or_G145.BgGradient":
+ "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.",
"1_4_3_G18_or_G145.BgImage":
"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.",
"1_4_3_G18_or_G145.Alpha":
@@ -172,6 +174,8 @@ _global.translation["it"] = {
"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.",
"1_4_6_G18_or_G17.BgImage":
"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.",
+ "1_4_6_G18_or_G145.BgGradient":
+ "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.",
"1_4_6_G18_or_G17.Fail":
"This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least {{required}}:1, but text in this element has a contrast ratio of {{value}}:1.",
"1_4_6_G18_or_G17.Fail.Recomendation": "Recommendation: change",
diff --git a/fast_htmlcs/Translations/ja.ts b/fast_htmlcs/Translations/ja.ts
index 42afbcf3..ddf6206c 100644
--- a/fast_htmlcs/Translations/ja.ts
+++ b/fast_htmlcs/Translations/ja.ts
@@ -182,6 +182,10 @@ _global.translation["ja"] = {
"この要素は絶対位置に配置されているため、背景色を決定できません。テキストと背景の覆われた部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。",
"1_4_3_G18_or_G145.BgImage":
"この要素のテキストは背景画像に配置されます。テキストと画像の覆われている部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。",
+
+ "1_4_3_G18_or_G145.BgGradient":
+ "この要素のテキストはグラデーションの上に配置されます。テキストとグラデーションのすべての覆われた部分のコントラスト比が少なくとも {{required}}:1 であることを確認してください。",
+
"1_4_3_G18_or_G145.Alpha":
"この要素のテキストまたは背景は透明部分を含みます。テキストと背景のコントラスト比が少なくとも{{required}}:1であることを確認してください。",
"1_4_3_G18_or_G145.Fail":
@@ -204,6 +208,9 @@ _global.translation["ja"] = {
"この要素は絶対位置に配置されているため、背景色を決定できません。テキストと背景の覆われた部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。",
"1_4_6_G18_or_G17.BgImage":
"この要素のテキストは背景画像に配置されます。テキストと画像の覆われている部分すべてのコントラスト比が少なくとも{{required}}:1であることを確認してください。",
+ "1_4_6_G18_or_G145.BgGradient":
+ "この要素のテキストはグラデーションの上に配置されます。テキストとグラデーションのすべての覆われた部分のコントラスト比が少なくとも {{required}}:1 であることを確認してください。",
+
"1_4_6_G18_or_G17.Fail":
"この要素は、この適合レベルではコントラストが不十分です。少なくとも{{required}}:1のコントラスト比が必要ですが、この要素のテキストのコントラスト比は{{value}}:1です。",
"1_4_6_G18_or_G17.Fail.Recomendation": "推奨: ",
diff --git a/fast_htmlcs/Translations/nl.ts b/fast_htmlcs/Translations/nl.ts
index 786bae06..526e5fe4 100644
--- a/fast_htmlcs/Translations/nl.ts
+++ b/fast_htmlcs/Translations/nl.ts
@@ -233,8 +233,10 @@ _global.translation["nl"] = {
//1_4_3.js
"1_4_3_G18_or_G145.Abs":
"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.",
- "1_4_3_G18_or_G145.BgImage":
+ "1_4_3_G18_or_G145.BgImage":
"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.",
+ "1_4_3_G18_or_G145.BgGradient":
+ "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.",
"1_4_3_G18_or_G145.Alpha":
"De tekst of achtergrond van dit element bevat transparantie. Zorg ervoor dat de contrastverhouding tussen de tekst en de achtergond minstens {{required}}:1 is.",
"1_4_3_G18_or_G145.Fail":
@@ -258,6 +260,10 @@ _global.translation["nl"] = {
"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.",
"1_4_6_G18_or_G17.BgImage":
"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.",
+
+ "1_4_6_G18_or_G145.BgGradient":
+ "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.",
+
"1_4_6_G18_or_G17.Fail":
"Dit element heeft onvoldoende contrast op dit conformantie-niveau. Een contrastverhouding van minstens {{required]}}:1 wordt verwacht, maar de tekst in dit element heeft een contrastverhouding van {{value}}:1.",
"1_4_6_G18_or_G17.Fail.Recomendation": "Aanbeveling:",
diff --git a/fast_htmlcs/Translations/pl.ts b/fast_htmlcs/Translations/pl.ts
index 2dcc829d..dad41174 100755
--- a/fast_htmlcs/Translations/pl.ts
+++ b/fast_htmlcs/Translations/pl.ts
@@ -234,8 +234,10 @@ _global.translation["pl"] = {
//1_4_3.js
"1_4_3_G18_or_G145.Abs":
"Ten element jest pozycjonowany absolutnie i nie jest możliwe zweryfikowanie jego kontrastu. Sprawdź, czy kontrast jest na wystarczającym poziomie: {{required}}:1.",
- "1_4_3_G18_or_G145.BgImage":
+ "1_4_3_G18_or_G145.BgImage":
"Tekst elementu wyświetlany jest na obrazku. Należy upewnić się, że stosunek kontrastu tekstu do tła wynosi co najmniej {{required}}:1.",
+ "1_4_3_G18_or_G145.BgGradient":
+ "Tekst tego elementu jest umieszczony na gradiencie. Upewnij się, że współczynnik kontrastu między tekstem a wszystkimi zakrytymi częściami gradientu wynosi co najmniej {{required}}:1.",
"1_4_3_G18_or_G145.Alpha":
"Tekst lub tło tego elementu jest przezroczyste. Upewnij się, że współczynnik kontrastu między tekstem a tłem wynosi co najmniej {{required}}:1.",
"1_4_3_G18_or_G145.Fail":
@@ -259,6 +261,9 @@ _global.translation["pl"] = {
"Ten element jest pozycjonowany absolutnie i nie jest możliwe zweryfikowanie jego kontrastu. Sprawdź samodzielnie czy kontrast jest na wystarczającym poziomie: {{required}}:1.",
"1_4_6_G18_or_G17.BgImage":
"Tekst elementu wyświetlany jest na obrazku. Należy upewnić się, że stosunek kontrastu tekstu do tła wynosi conajmniej {{required}}:1.",
+ "1_4_6_G18_or_G145.BgGradient":
+ "Tekst tego elementu jest umieszczony na gradiencie. Upewnij się, że współczynnik kontrastu między tekstem a wszystkimi zakrytymi częściami gradientu wynosi co najmniej {{required}}:1.",
+
"1_4_6_G18_or_G17.Fail":
"Ten element ma niewystarczający stosunek kontrastu tekstu do tła. Powinien wynosić co najmniej {{required}}:1, a tekst umieszczony w tym elemencie posiada stosunek {{value}}:1.",
"1_4_6_G18_or_G17.Fail.Recomendation": "Zalecenie: ",
diff --git a/fast_htmlcs/Translations/zh_CN.ts b/fast_htmlcs/Translations/zh_CN.ts
index caa0ad95..5d1aac80 100644
--- a/fast_htmlcs/Translations/zh_CN.ts
+++ b/fast_htmlcs/Translations/zh_CN.ts
@@ -143,6 +143,8 @@ _global.translation["zh-CN"] = {
"此元素绝对定位,无法确定背景颜色。确保文本与背景中所有被覆盖部分的对比度至少为{{required}}:1。",
"1_4_3_G18_or_G145.BgImage":
"这个元素的文本被放置在背景图像上。确保文本与图像所有覆盖部分的对比度至少为{{required}}:1。",
+ "1_4_3_G18_or_G145.BgGradient":
+ "该元素的文本放置在背景渐变之上。确保文本和渐变的所有重叠部分之间的对比度至少为 {{required}}:1。",
"1_4_3_G18_or_G145.Alpha":
"此元素的文本或背景包含透明度。确保文本和背景之间的对比度至少为{{required}}:1。",
"1_4_3_G18_or_G145.Fail":
@@ -158,6 +160,9 @@ _global.translation["zh-CN"] = {
"此元素绝对定位,无法确定背景颜色。确保文本与背景中所有被覆盖部分的对比度至少为{{required}}:1。",
"1_4_6_G18_or_G17.BgImage":
"这个元素的文本被放置在背景图像上。确保文本与图像所有覆盖部分的对比度至少为{{required}}:1。",
+ "1_4_6_G18_or_G145.BgGradient":
+ "该元素的文本放置在背景渐变之上。确保文本和渐变的所有重叠部分之间的对比度至少为 {{required}}:1。",
+
"1_4_6_G18_or_G17.Fail":
"此元素在此一致性级别上的对比度不足。期望的对比度比至少为{{required}}:1,但是该元素中的文本的对比度比为{{value}}:1。",
"1_4_6_G18_or_G17.Fail.Recomendation": "建议:改变",
diff --git a/fast_htmlcs/Translations/zh_TW.ts b/fast_htmlcs/Translations/zh_TW.ts
index b711f420..c85c0556 100644
--- a/fast_htmlcs/Translations/zh_TW.ts
+++ b/fast_htmlcs/Translations/zh_TW.ts
@@ -146,6 +146,8 @@ _global.translation["zh-TW"] = {
"此元素绝对定位,无法确定背景颜色。确保文本与背景中所有被覆盖部分的对比度至少为{{required}}:1。",
"1_4_3_G18_or_G145.BgImage":
"这个元素的文本被放置在背景图像上。确保文本与图像所有覆盖部分的对比度至少为{{required}}:1。",
+ "1_4_3_G18_or_G145.BgGradient":
+ "该元素的文本放置在背景渐变之上。确保文本和渐变的所有重叠部分之间的对比度至少为 {{required}}:1。",
"1_4_3_G18_or_G145.Alpha":
"此元素的文本或背景包含透明度。确保文本和背景之间的对比度至少为{{required}}:1。",
"1_4_3_G18_or_G145.Fail":
@@ -161,6 +163,8 @@ _global.translation["zh-TW"] = {
"此元素绝对定位,无法确定背景颜色。确保文本与背景中所有被覆盖部分的对比度至少为{{required}}:1。",
"1_4_6_G18_or_G17.BgImage":
"这个元素的文本被放置在背景图像上。确保文本与图像所有覆盖部分的对比度至少为{{required}}:1。",
+ "1_4_6_G18_or_G145.BgGradient":
+ "该元素的文本放置在背景渐变之上。确保文本和渐变的所有重叠部分之间的对比度至少为 {{required}}:1。",
"1_4_6_G18_or_G17.Fail":
"此元素在此一致性级别上的对比度不足。期望的对比度比至少为{{required}}:1,但是该元素中的文本的对比度比为{{value}}:1。",
"1_4_6_G18_or_G17.Fail.Recomendation": "建议:改变",
diff --git a/fast_htmlcs/globals.d.ts b/fast_htmlcs/globals.d.ts
index 09a1b947..c7a571ec 100644
--- a/fast_htmlcs/globals.d.ts
+++ b/fast_htmlcs/globals.d.ts
@@ -98,6 +98,7 @@ type TestContrastRatio = (
back: { to: number; from: number };
};
hasBgImage: boolean;
+ hasBgGradient?: boolean;
isAbsolute: boolean;
hasAlpha: boolean;
}[];
diff --git a/fast_htmlcs/package.json b/fast_htmlcs/package.json
index 46992833..511c2714 100644
--- a/fast_htmlcs/package.json
+++ b/fast_htmlcs/package.json
@@ -1,6 +1,6 @@
{
"name": "fast_htmlcs",
- "version": "0.0.66",
+ "version": "0.0.68",
"description": "A high performance fork of HTML_CodeSniffer.",
"license": "BSD-3-Clause",
"main": "index.js",
diff --git a/kayle/lib/runner.ts b/kayle/lib/runner.ts
index 8291d956..fb20de5b 100644
--- a/kayle/lib/runner.ts
+++ b/kayle/lib/runner.ts
@@ -27,7 +27,7 @@
const A_2 = "duplicate-id";
const H_2 = "Principle4.Guideline41.411.F77";
const IA_2 = "Principle4.Guideline4_1.4_1_1.F77";
- // element_id_unique
+ // element_id_unique
const A_3 = "empty-heading";
const H_3 = "Principle1.Guideline13.131.H42.2";
const IA_3 = "Principle1.Guideline1_3.1_3_1.H42.2";
diff --git a/kayle/package.json b/kayle/package.json
index f701373a..5472548e 100644
--- a/kayle/package.json
+++ b/kayle/package.json
@@ -1,6 +1,6 @@
{
"name": "kayle",
- "version": "0.8.0",
+ "version": "0.8.1",
"description": "Extremely fast and accurate accessibility engine built for any headless tool like playwright or puppeteer.",
"main": "./build/index.js",
"keywords": [
@@ -66,7 +66,6 @@
"bugs": "https://github.com/a11ywatch/kayle/issues",
"license": "MIT",
"dependencies": {
- "accessibility-checker-engine": "3.1.61",
"fast_axecore": "workspace:*",
"fast_htmlcs": "workspace:*",
"kayle_innate": "workspace:*"
diff --git a/yarn.lock b/yarn.lock
index c65ab6b1..e9fa8488 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2089,13 +2089,6 @@ __metadata:
languageName: node
linkType: hard
-"accessibility-checker-engine@npm:3.1.61":
- version: 3.1.61
- resolution: "accessibility-checker-engine@npm:3.1.61"
- checksum: b25b5f784e028dc51d5f006b3941954460a6252604dfaebbf3279fb398186c2b6eae2eb5e5d9e2ce0d2600bc881d8f7292d539c9792e6fdb65e8c0931cdcf2a8
- languageName: node
- linkType: hard
-
"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -5891,7 +5884,6 @@ __metadata:
"@swc/helpers": "npm:^0.5.1"
"@types/jsdom": "npm:^20.0.1"
"@types/node": "npm:^18.11.9"
- accessibility-checker-engine: "npm:3.1.61"
fast_axecore: "workspace:*"
fast_htmlcs: "workspace:*"
kayle_innate: "workspace:*"