From f4f0f92dfa2d044ef23ae8b83c41fb423cd27dec Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Sun, 5 Jul 2026 14:06:43 +0000 Subject: [PATCH 1/2] fix(desktop): remove conflicting ARIA roles on disabled button wrappers - Removed `role="button"` and `aria-disabled="true"` from focusable `span` elements wrapping native disabled buttons in `App.tsx` and `Workspace.tsx` to conform to ARIA spec restricting nested interactive elements. - Maintained tooltip accessibility for screen readers via visually hidden `.sr-only` text. - Updated related unit test in `App.test.tsx` to expect absence of `role="button"`. --- .jules/palette.md | 4 ++++ apps/desktop/src/App.test.tsx | 2 +- apps/desktop/src/App.tsx | 7 ++++--- apps/desktop/src/features/workspace/Workspace.tsx | 12 ++++++++---- 4 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 .jules/palette.md diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..7c90e708 --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,4 @@ + +## 2024-07-05 - ARIA spec on nested interactive elements +**Learning:** Native disabled ` - + Help coming soon ) : ( - + + Analyze a song to enable saving - + + Coming soon - + + Coming soon {canTranscribeBass ? ( @@ -330,7 +333,8 @@ export function Workspace({ song, sourceBootstrap = null, onSongUpdate }: Worksp Transcribe Bass ) : ( - + + {`${activeRoleDetails?.name ?? "This role"} transcription is coming soon. Bass is ready first.`}