From 2f010cf36d19bf2318e08239fc890e67d0b46037 Mon Sep 17 00:00:00 2001 From: Cyril Date: Thu, 23 Oct 2025 09:17:25 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20set=20empty=20alt=20on=20?= =?UTF-8?q?logo=20due=20to=20Axe=20a11y=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit image is decorative; alt was redundant with link aria-label Signed-off-by: Cyril --- CHANGELOG.md | 2 ++ .../apps/e2e/__tests__/app-impress/header.spec.ts | 9 ++++++--- .../impress/src/features/header/components/Header.tsx | 2 +- src/frontend/apps/impress/src/features/header/types.ts | 1 - src/helm/env.d/dev/configuration/theme/demo.json | 3 +-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 858f4b4018..a08acaa2d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ and this project adheres to - 🐛(frontend) fix duplicate document entries in grid #1479 - 🐛(frontend) show full nested doc names with ajustable bar #1456 - 🐛(backend) fix trashbin list +- ♿(frontend) improve accessibility: + - ♿(frontend) remove empty alt on logo due to Axe a11y error #1516 ## [3.8.2] - 2025-10-17 diff --git a/src/frontend/apps/e2e/__tests__/app-impress/header.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/header.spec.ts index c43e120e4d..349af4e1c7 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/header.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/header.spec.ts @@ -159,7 +159,7 @@ test.describe('Header: Override configuration', () => { logo: { src: '/assets/logo-gouv.svg', width: '220px', - alt: 'Gouvernement Logo', + alt: '', }, }, }, @@ -168,8 +168,11 @@ test.describe('Header: Override configuration', () => { await page.goto('/'); const header = page.locator('header').first(); - await expect(header.getByAltText('Gouvernement Logo')).toBeVisible(); + const logoImage = header.getByTestId('header-icon-docs'); + await expect(logoImage).toBeVisible(); - await expect(header.getByAltText('Docs')).toBeHidden(); + await expect(logoImage).not.toHaveAttribute('src', '/assets/icon-docs.svg'); + await expect(logoImage).toHaveAttribute('src', '/assets/logo-gouv.svg'); + await expect(logoImage).toHaveAttribute('alt', ''); }); }); diff --git a/src/frontend/apps/impress/src/features/header/components/Header.tsx b/src/frontend/apps/impress/src/features/header/components/Header.tsx index d67aee2df0..3ab656615b 100644 --- a/src/frontend/apps/impress/src/features/header/components/Header.tsx +++ b/src/frontend/apps/impress/src/features/header/components/Header.tsx @@ -68,7 +68,7 @@ export const Header = () => { className="c__image-system-filter" data-testid="header-icon-docs" src={logo?.src || '/assets/icon-docs.svg'} - alt={logo?.alt || t('Docs')} + alt="" width={0} height={0} style={{ diff --git a/src/frontend/apps/impress/src/features/header/types.ts b/src/frontend/apps/impress/src/features/header/types.ts index 5091625b06..a9b726ed8f 100644 --- a/src/frontend/apps/impress/src/features/header/types.ts +++ b/src/frontend/apps/impress/src/features/header/types.ts @@ -3,6 +3,5 @@ export interface HeaderType { src?: string; width?: string; height?: string; - alt?: string; }; } diff --git a/src/helm/env.d/dev/configuration/theme/demo.json b/src/helm/env.d/dev/configuration/theme/demo.json index 5da45273b0..fa50930323 100644 --- a/src/helm/env.d/dev/configuration/theme/demo.json +++ b/src/helm/env.d/dev/configuration/theme/demo.json @@ -137,8 +137,7 @@ "header": { "logo": { "src": "/assets/icon-docs.svg", - "width": "32px", - "alt": "Notes" + "width": "32px" } } }