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.name }}

{{ ws.description || 'No description yet.' }}

Created: {{ ws.createdDate | date: 'mediumDate' }}
- Open - Edit + Open + Edit diff --git a/src/app/components/decision-list/decision-list.component.html b/src/app/components/decision-list/decision-list.component.html index 72f8661..111caa8 100644 --- a/src/app/components/decision-list/decision-list.component.html +++ b/src/app/components/decision-list/decision-list.component.html @@ -25,7 +25,7 @@

{{ decision.title }}

- +
diff --git a/src/app/components/signal-board/signal-board.html b/src/app/components/signal-board/signal-board.html index c6f11b3..4bc436d 100644 --- a/src/app/components/signal-board/signal-board.html +++ b/src/app/components/signal-board/signal-board.html @@ -29,9 +29,9 @@

{{ signal.title }}

- {{ getOpenLabel(signal) }} - - + {{ getOpenLabel(signal) }} + +
diff --git a/src/app/components/workspace-members/workspace-members.html b/src/app/components/workspace-members/workspace-members.html index 87d26a1..3869340 100644 --- a/src/app/components/workspace-members/workspace-members.html +++ b/src/app/components/workspace-members/workspace-members.html @@ -68,11 +68,12 @@

{{ member.email }}

[disabled]="member.role === 'owner'" [ngModel]="member.role" (ngModelChange)="updateMemberRole(member, $event)" + [attr.aria-label]="'Update role for ' + member.email" > - @@ -103,8 +104,8 @@

{{ invitation.email }}

- - + +