diff --git a/.jules/palette.md b/.jules/palette.md
new file mode 100644
index 00000000..d32b6cfd
--- /dev/null
+++ b/.jules/palette.md
@@ -0,0 +1,3 @@
+## 2025-05-15 - [Accessibility: Icon-Only Button Labels]
+**Learning:** Icon-only buttons without explicit `aria-label` attributes are inaccessible to screen reader users, as they often lack descriptive text content. While `title` attributes provide some information on hover, they are not a substitute for `aria-label` in terms of accessibility standards.
+**Action:** Always ensure icon-only buttons have an `aria-label` or an `sr-only` span describing their action. This project now consistently uses `aria-label` for common interface actions like toggling history, opening calendars, and submitting forms.
diff --git a/components/calendar-notepad.tsx b/components/calendar-notepad.tsx
index 41decd98..a22f2c2f 100644
--- a/components/calendar-notepad.tsx
+++ b/components/calendar-notepad.tsx
@@ -97,6 +97,7 @@ export function CalendarNotepad({ chatId }: CalendarNotepadProps) {
@@ -124,6 +125,7 @@ export function CalendarNotepad({ chatId }: CalendarNotepadProps) {
@@ -138,10 +140,12 @@ export function CalendarNotepad({ chatId }: CalendarNotepadProps) {
placeholder="Add note... (⌘+Enter to save, @mention, #location)"
className="w-full p-2 bg-input rounded-md border focus:ring-ring focus:ring-2 focus:outline-none pr-10"
rows={3}
+ aria-label="Add a note"
/>
@@ -160,7 +164,11 @@ export function CalendarNotepad({ chatId }: CalendarNotepadProps) {