From c5b74128ce086b2d70bf6c0811001385f7287ad0 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 25 Apr 2026 18:16:18 +0000 Subject: [PATCH] feat(a11y): add contextual aria-labels to generic list action buttons Generic list action buttons (like "Open", "Edit", "Delete", "Remove") lack context for screen reader users when navigating list structures. This change adds dynamic `aria-label`s to these buttons in the dashboard, workspace members, decision list, and signal board components to provide clear, actionable context. Co-authored-by: yashrastogi <4853337+yashrastogi@users.noreply.github.com> --- .Jules/palette.md | 3 +++ src/app/components/dashboard/dashboard.html | 5 +++-- .../components/decision-list/decision-list.component.html | 2 +- src/app/components/signal-board/signal-board.html | 6 +++--- .../components/workspace-members/workspace-members.html | 7 ++++--- 5 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 .Jules/palette.md diff --git a/.Jules/palette.md b/.Jules/palette.md new file mode 100644 index 0000000..ad8d08b --- /dev/null +++ b/.Jules/palette.md @@ -0,0 +1,3 @@ +## 2024-04-25 - Contextual Action Buttons in Lists +**Learning:** Screen readers announce repetitive, generic action buttons like "Open", "Edit", "Delete", "Remove", "Resend", and "Archive" poorly when they are within lists (workspaces, members, decisions, signals), making it ambiguous which specific item the button acts upon. +**Action:** Always add dynamic `aria-label`s to generic list action buttons using Angular property binding (e.g., `[attr.aria-label]="'Edit ' + itemName"`) to provide clear, actionable context for screen reader users. diff --git a/src/app/components/dashboard/dashboard.html b/src/app/components/dashboard/dashboard.html index 16775f5..aa5e75a 100644 --- a/src/app/components/dashboard/dashboard.html +++ b/src/app/components/dashboard/dashboard.html @@ -41,13 +41,14 @@
{{ ws.description || 'No description yet.' }}
Created: {{ ws.createdDate | date: 'mediumDate' }}