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