diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 42adb44..301e978 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -5,7 +5,7 @@
version: 2
updates:
- - package-ecosystem: "npm"
- directory: "/"
+ - package-ecosystem: 'npm'
+ directory: '/'
schedule:
- interval: "weekly"
+ interval: 'weekly'
diff --git a/.jules/palette.md b/.jules/palette.md
new file mode 100644
index 0000000..87b8e92
--- /dev/null
+++ b/.jules/palette.md
@@ -0,0 +1,3 @@
+## 2024-10-24 - Async Button State Accessibility
+**Learning:** Async buttons with visual-only state changes (spinner, icons) are inaccessible to screen readers without explicit `aria-live` announcements. Success states that persist indefinitely can be confusing and block retry actions.
+**Action:** Always include a visually hidden `span` with `role="status"` and `aria-live="polite"` to announce state changes ("Loading", "Success", "Error"). Implement auto-reset for success states on buttons.
diff --git a/src/components/DomainPayment.svelte b/src/components/DomainPayment.svelte
index ac131ee..e04970d 100644
--- a/src/components/DomainPayment.svelte
+++ b/src/components/DomainPayment.svelte
@@ -102,7 +102,11 @@
{domainName}
- addYears(-1)} disabled={years === 1 || feesApproved} aria-label="remove-year">
+ addYears(-1)}
+ disabled={years === 1 || feesApproved}
+ aria-label="remove-year"
+ >
{years} {yearsLabel}
@@ -111,7 +115,7 @@
-
+
Payment token