From fd1715bacf2ec3208bc6239df53b966220777c6c Mon Sep 17 00:00:00 2001 From: Florent Chehab Date: Wed, 3 Jun 2026 18:55:09 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BF=EF=B8=8F(frontend)=20proper=20aria=20?= =?UTF-8?q?labels=20on=20custom=20backgrounds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Set the aria-label to something meaningful, * Set the delete btn aria label --- CHANGELOG.md | 6 +- .../effects/EffectsConfiguration.tsx | 114 +++++++++++------- src/frontend/src/locales/de/rooms.json | 3 + src/frontend/src/locales/en/rooms.json | 3 + src/frontend/src/locales/fr/rooms.json | 3 + src/frontend/src/locales/nl/rooms.json | 3 + 6 files changed, 85 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2f555ce..1c65e06a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ and this project adheres to - 🐛(frontend) fix metadata agent collector enabled check +### Fixed + +- ♿️(frontend) improve accessibilty of the Effects panel #1401 + ## [1.20.0] - 2026-06-12 ### Changed @@ -52,7 +56,7 @@ and this project adheres to - 🔇(summary) make ffmpeg quiet #1404 - 🔒️(backend) prevent accessing files if they are not ready #1395 -- ⬆️(backend) upgrade idna to >=3.15 to address CVE-2026-45409 +- # ⬆️(backend) upgrade idna to >=3.15 to address CVE-2026-45409 ## [1.18.0] - 2026-06-03 diff --git a/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx b/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx index 73752be2..44c761d6 100644 --- a/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx +++ b/src/frontend/src/features/rooms/livekit/components/effects/EffectsConfiguration.tsx @@ -400,6 +400,8 @@ export const EffectsConfiguration = ({ config: ProcessorConfig isSelected: boolean tooltip: string + ariaLabel: string + ariaDeleteLabel: string file: ApiFileItem }[] }>(() => { @@ -445,9 +447,11 @@ export const EffectsConfiguration = ({ } const id = deriveIdFromProcessorConfig(config) const isSelected = selectedId === id - const prefix = isSelected ? 'selectedLabel' : 'apply' const backgroundName = t(`virtual.presets.descriptions.${index}`) - const ariaLabel = `${t(`virtual.presets.${prefix}`)} ${backgroundName}` + const ariaLabelPrefix = t( + isSelected ? `virtual.selectedLabel` : `virtual.apply` + ) + const ariaLabel = `${ariaLabelPrefix} ${backgroundName}` return { tooltip: backgroundName, @@ -469,13 +473,22 @@ export const EffectsConfiguration = ({ } const id = deriveIdFromProcessorConfig(config) + const isSelected = selectedId === id + const ariaLabel = t( + isSelected + ? `virtual.personal.selectedLabel` + : `virtual.personal.apply` + ) + const ariaDeleteLabel = t('virtual.personal.deleteLabel') return { tooltip: file.title, id, config, - isSelected: selectedId === id, + isSelected, file, + ariaLabel, + ariaDeleteLabel, } }), } @@ -727,47 +740,52 @@ export const EffectsConfiguration = ({ } role="listitem" > - - - - + aria-label={option.ariaDeleteLabel} + size={'xs'} + variant={'tertiary'} + onClick={() => { + if (option.isSelected) { + // we remove the current effect + toggleEffect(option.config) + } + deleteFileMutation.mutate({ + fileId: option.file.id, + }) + }} + isDisabled={deleteFileMutation.isPending} + > + + + ) )} @@ -780,9 +798,13 @@ export const EffectsConfiguration = ({ >