From 1e5b8e6db4f426a62c121219c90af19bcfb57933 Mon Sep 17 00:00:00 2001 From: Guillaume Flambard <56681566+guillaume-flambard@users.noreply.github.com> Date: Mon, 27 Jul 2026 09:10:49 +0200 Subject: [PATCH] fix(front): add accessible labels to icon-only options dropdown triggers (#23325) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem Refs #23127. Icon-only `LightIconButton` "more options" triggers (`IconDotsVertical`) render without an accessible name, failing WCAG 4.1.2 (button-name) — screen readers announce nothing for them. ## Fix Add `aria-label={t`More options`}` to the affected dropdown triggers. `LightIconButton` already forwards `aria-label` and sets `aria-hidden` on the icon when a label is present, so this is purely additive — no behavioral or visual change. Scoped to a coherent set of options-menu triggers (attachments, public domains, SSO, connected accounts, field group config). Other unlabeled icon buttons can follow in separate PRs. ## Verification `oxlint --type-aware` and `oxfmt` pass on all changed files. The label is i18n-wrapped via the existing `useLingui` macro already imported in each component. Review in cubic --- .../activities/files/components/AttachmentDropdown.tsx | 6 +++++- .../fields/components/FieldsConfigurationGroupDropdown.tsx | 6 +++++- .../accounts/components/SettingsAccountsRowDropdownMenu.tsx | 6 +++++- .../components/SettingPublicDomainRowDropdownMenu.tsx | 6 +++++- .../components/SSO/SettingsSecuritySSORowDropdownMenu.tsx | 6 +++++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/packages/twenty-front/src/modules/activities/files/components/AttachmentDropdown.tsx b/packages/twenty-front/src/modules/activities/files/components/AttachmentDropdown.tsx index 01c684cce8..bf28d90354 100644 --- a/packages/twenty-front/src/modules/activities/files/components/AttachmentDropdown.tsx +++ b/packages/twenty-front/src/modules/activities/files/components/AttachmentDropdown.tsx @@ -52,7 +52,11 @@ export const AttachmentDropdown = ({ + } dropdownComponents={ diff --git a/packages/twenty-front/src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupDropdown.tsx b/packages/twenty-front/src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupDropdown.tsx index 0e9245aea8..8d8dc16e2d 100644 --- a/packages/twenty-front/src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupDropdown.tsx +++ b/packages/twenty-front/src/modules/page-layout/widgets/fields/components/FieldsConfigurationGroupDropdown.tsx @@ -53,7 +53,11 @@ export const FieldsConfigurationGroupDropdown = ({ + } dropdownPlacement="bottom-start" dropdownComponents={ diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx index cbcdd77e91..e4a3b29659 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsRowDropdownMenu.tsx @@ -75,7 +75,11 @@ export const SettingsAccountsRowDropdownMenu = ({ dropdownId={dropdownId} dropdownPlacement="right-start" clickableComponent={ - + } dropdownComponents={ diff --git a/packages/twenty-front/src/modules/settings/domains/components/SettingPublicDomainRowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/domains/components/SettingPublicDomainRowDropdownMenu.tsx index 700cd59a77..0d4aa90b00 100644 --- a/packages/twenty-front/src/modules/settings/domains/components/SettingPublicDomainRowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/domains/components/SettingPublicDomainRowDropdownMenu.tsx @@ -50,7 +50,11 @@ export const SettingPublicDomainRowDropdownMenu = ({ dropdownId={dropdownId} dropdownPlacement="right-start" clickableComponent={ - + } dropdownComponents={ diff --git a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx index 76fb8ed0b3..048464ab47 100644 --- a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx @@ -72,7 +72,11 @@ export const SettingsSecuritySSORowDropdownMenu = ({ dropdownId={dropdownId} dropdownPlacement="right-start" clickableComponent={ - + } dropdownComponents={