diff --git a/.jules/palette.md b/.jules/palette.md
new file mode 100644
index 0000000..cefaadc
--- /dev/null
+++ b/.jules/palette.md
@@ -0,0 +1,4 @@
+
+## 2026-07-04 - Dynamic ARIA Labels for Toggle States
+**Learning:** Interactive elements which toggle states (e.g. copy buttons that show a checkmark) require their `aria-label` to dynamically update to reflect the current state to screen readers.
+**Action:** Always use dynamic `aria-label={state ? 'Copied' : 'Copy'}` syntax for state-toggling buttons.
diff --git a/src/components/VaultDashboard.tsx b/src/components/VaultDashboard.tsx
index f603d2f..e689fbf 100644
--- a/src/components/VaultDashboard.tsx
+++ b/src/components/VaultDashboard.tsx
@@ -516,7 +516,7 @@ export default function VaultDashboard() {
/>
-
@@ -777,6 +778,7 @@ export default function VaultDashboard() {
setTimeout(() => setCopied(false), 2000);
}}
className="px-3 py-2 rounded-lg bg-[#d4af37] hover:bg-[#e5c158] text-[#141310] border border-[#d4af37]/20 transition-all flex items-center justify-center shrink-0"
+ aria-label={copied ? "Link copied" : "Copy share link"}
>
{copied ? : }