diff --git a/frontend/.storybook/preview.ts b/frontend/.storybook/preview.ts index 3e04df7872..dc248b2aed 100644 --- a/frontend/.storybook/preview.ts +++ b/frontend/.storybook/preview.ts @@ -55,6 +55,10 @@ const preview: Preview = { parameters: { layout: "centered", backgrounds: { disable: true }, + // Accessibility gate + a11y: { + test: "error", + }, controls: { matchers: { color: /(background|color)$/i, diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3916b11574..ea214ee79c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -48,6 +48,7 @@ "@vitest/ui": "^4.1.5", "@vue/test-utils": "^2.4.9", "@vue/tsconfig": "^0.7.0", + "axe-core": "^4.12.1", "eslint": "^10.0.3", "eslint-plugin-vue": "^10.8.0", "eslint-plugin-vuejs-accessibility": "^2.5.0", @@ -6130,9 +6131,9 @@ } }, "node_modules/axe-core": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.0.tgz", - "integrity": "sha512-FTavr/7Ba0IptwGOPxnQvdyW2tAsdLBMTBXz7rKH6xJ2skpyxpBxyHkDdBs4lf69yRqYpkqCdfhnwS8YULGOmg==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.1.tgz", + "integrity": "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA==", "dev": true, "license": "MPL-2.0", "engines": { diff --git a/frontend/package.json b/frontend/package.json index 002d3be3d5..19105574bc 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -75,6 +75,7 @@ "@vitest/ui": "^4.1.5", "@vue/test-utils": "^2.4.9", "@vue/tsconfig": "^0.7.0", + "axe-core": "^4.12.1", "eslint": "^10.0.3", "eslint-plugin-vue": "^10.8.0", "eslint-plugin-vuejs-accessibility": "^2.5.0", diff --git a/frontend/src/v2/lib/data/RTable/RTable.vue b/frontend/src/v2/lib/data/RTable/RTable.vue index 84ad8585b3..c642d07e1e 100644 --- a/frontend/src/v2/lib/data/RTable/RTable.vue +++ b/frontend/src/v2/lib/data/RTable/RTable.vue @@ -143,6 +143,7 @@ onBeforeUnmount(() => {