From 98b9eb5107e54fcbf2ab619c28bfeb0415389b30 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 05:40:17 +0000 Subject: [PATCH] feat(ux): Add ARIA labels to icon-only buttons for accessibility - Add descriptive aria-label and title attributes to multiple icon-only buttons across the app - Ensure settings page back button, code block controls, frontmatter editor actions, and graph tab buttons are accessible - Address the accessibility gap where a title attribute alone is insufficient for screen readers - Document learning regarding icon-only button accessibility in the Palette journal Co-authored-by: threehymns <70611435+threehymns@users.noreply.github.com> --- .Jules/palette.md | 3 +++ src/components/editor/extensions/code-block-codemirror.tsx | 4 ++++ src/components/frontmatter-editor.tsx | 4 ++++ src/components/graph-tab.tsx | 2 ++ src/routes/settings.tsx | 2 +- 5 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .Jules/palette.md diff --git a/.Jules/palette.md b/.Jules/palette.md new file mode 100644 index 0000000..0b05896 --- /dev/null +++ b/.Jules/palette.md @@ -0,0 +1,3 @@ +## 2026-04-27 - [ARIA labels for icon-only buttons] +**Learning:** In React components like ` diff --git a/src/components/graph-tab.tsx b/src/components/graph-tab.tsx index 4b13707..919fda2 100644 --- a/src/components/graph-tab.tsx +++ b/src/components/graph-tab.tsx @@ -1319,6 +1319,7 @@ interface ForceGraphInstance { variant="ghost" size="icon" title="Reset settings" + aria-label="Reset settings" onClick={() => setPanel(DEFAULT_PANEL)} className="size-7" > @@ -1328,6 +1329,7 @@ interface ForceGraphInstance { variant="ghost" size="icon" title="Close panel" + aria-label="Close panel" onClick={() => setPaneOpen(false)} className="size-7" > diff --git a/src/routes/settings.tsx b/src/routes/settings.tsx index 726478d..786f8a1 100644 --- a/src/routes/settings.tsx +++ b/src/routes/settings.tsx @@ -191,7 +191,7 @@ function SettingsPage() {