diff --git a/frontend/src/lib/components/document/DescriptionSection.svelte b/frontend/src/lib/components/document/DescriptionSection.svelte
index b83ac296..f9b7a05b 100644
--- a/frontend/src/lib/components/document/DescriptionSection.svelte
+++ b/frontend/src/lib/components/document/DescriptionSection.svelte
@@ -49,7 +49,7 @@ let titleValue = $derived(titleDirty ? titleOverride : suggestedTitle || titleOv
titleDirty = true;
}}
required={titleRequired}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
{/if}
@@ -65,7 +65,7 @@ let titleValue = $derived(titleDirty ? titleOverride : suggestedTitle || titleOv
name="documentLocation"
value={initialDocumentLocation}
placeholder={m.form_placeholder_archive_location()}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
{m.form_helper_archive_location()}
@@ -87,7 +87,7 @@ let titleValue = $derived(titleDirty ? titleOverride : suggestedTitle || titleOv
name="summary"
rows="5"
placeholder={m.form_placeholder_content()}
- class="block w-full rounded border border-line p-2 font-serif text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 font-serif text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>{initialSummary}
diff --git a/frontend/src/lib/components/document/TranscriptionSection.svelte b/frontend/src/lib/components/document/TranscriptionSection.svelte
index 142af5ae..e963be56 100644
--- a/frontend/src/lib/components/document/TranscriptionSection.svelte
+++ b/frontend/src/lib/components/document/TranscriptionSection.svelte
@@ -13,7 +13,7 @@ let { initialTranscription = '' }: { initialTranscription?: string } = $props();
name="transcription"
rows="12"
placeholder={m.form_placeholder_transcription()}
- class="block w-full rounded border border-line p-2 font-serif text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 font-serif text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>{initialTranscription}
diff --git a/frontend/src/lib/components/document/WhoWhenSection.svelte b/frontend/src/lib/components/document/WhoWhenSection.svelte
index ff90efdf..18696a1c 100644
--- a/frontend/src/lib/components/document/WhoWhenSection.svelte
+++ b/frontend/src/lib/components/document/WhoWhenSection.svelte
@@ -71,7 +71,7 @@ $effect(() => {
placeholder={m.form_placeholder_date()}
maxlength="10"
class="block w-full rounded border border-line p-2 text-sm shadow-sm
- {dateInvalid ? 'border-red-400 focus:border-red-500 focus:ring-red-500' : 'focus:border-ink focus:ring-ink'}"
+ {dateInvalid ? 'border-red-400 focus:border-red-500 focus:ring-red-500' : 'focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring'}"
aria-describedby={dateInvalid ? 'date-error' : undefined}
/>
@@ -91,7 +91,7 @@ $effect(() => {
name="location"
value={initialLocation}
placeholder={m.form_placeholder_location()}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/lib/components/user/UserPasswordSection.svelte b/frontend/src/lib/components/user/UserPasswordSection.svelte
index cf25b239..77572378 100644
--- a/frontend/src/lib/components/user/UserPasswordSection.svelte
+++ b/frontend/src/lib/components/user/UserPasswordSection.svelte
@@ -13,7 +13,7 @@ let { required = false }: { required?: boolean } = $props();
type="password"
name="newPassword"
required={required}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -25,7 +25,7 @@ let { required = false }: { required?: boolean } = $props();
type="password"
name="confirmPassword"
required={required}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/lib/components/user/UserProfileSection.svelte b/frontend/src/lib/components/user/UserProfileSection.svelte
index b3b8d214..1efd502a 100644
--- a/frontend/src/lib/components/user/UserProfileSection.svelte
+++ b/frontend/src/lib/components/user/UserProfileSection.svelte
@@ -37,7 +37,7 @@ function handleBirthDateInput(e: Event) {
type="text"
name="firstName"
value={firstName}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -49,7 +49,7 @@ function handleBirthDateInput(e: Event) {
type="text"
name="lastName"
value={lastName}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -63,7 +63,7 @@ function handleBirthDateInput(e: Event) {
placeholder="TT.MM.JJJJ"
value={birthDateDisplay}
oninput={handleBirthDateInput}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -76,7 +76,7 @@ function handleBirthDateInput(e: Event) {
type="email"
name="email"
value={email}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -88,7 +88,7 @@ function handleBirthDateInput(e: Event) {
name="contact"
rows="3"
placeholder={m.profile_contact_placeholder()}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>{contact}
diff --git a/frontend/src/routes/SearchFilterBar.svelte b/frontend/src/routes/SearchFilterBar.svelte
index daa59c60..a0d8bef6 100644
--- a/frontend/src/routes/SearchFilterBar.svelte
+++ b/frontend/src/routes/SearchFilterBar.svelte
@@ -46,7 +46,7 @@ let {
onblur={onblur}
aria-label={m.docs_search_placeholder()}
placeholder={m.docs_search_placeholder()}
- class="block w-full border-line py-2.5 pr-10 pl-3 placeholder-ink-3 shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full border-line py-2.5 pr-10 pl-3 placeholder-ink-3 shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -150,7 +150,7 @@ const ADMIN_PERMISSIONS = $derived([
name="permissions"
value={perm.value}
checked={data.group.permissions.includes(perm.value)}
- class="h-4 w-4 rounded border-line text-primary focus:ring-primary"
+ class="h-4 w-4 rounded border-line text-primary focus:ring-focus-ring"
/>
{perm.label}
diff --git a/frontend/src/routes/admin/groups/new/+page.svelte b/frontend/src/routes/admin/groups/new/+page.svelte
index 5f60adbe..7392ec79 100644
--- a/frontend/src/routes/admin/groups/new/+page.svelte
+++ b/frontend/src/routes/admin/groups/new/+page.svelte
@@ -101,7 +101,7 @@ beforeNavigate(({ cancel, to }) => {
name="name"
placeholder={m.admin_group_name_placeholder()}
required
- class="w-full rounded-sm border border-line bg-surface px-3 py-2 text-sm text-ink placeholder:text-ink-3 focus:ring-1 focus:ring-primary focus:outline-none"
+ class="w-full rounded-sm border border-line bg-surface px-3 py-2 text-sm text-ink placeholder:text-ink-3 focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -117,7 +117,7 @@ beforeNavigate(({ cancel, to }) => {
type="checkbox"
name="permissions"
value={perm.value}
- class="rounded border-line text-primary focus:ring-primary"
+ class="rounded border-line text-primary focus:ring-focus-ring"
/>
{perm.value}
— {perm.label}
@@ -146,7 +146,7 @@ beforeNavigate(({ cancel, to }) => {
type="checkbox"
name="permissions"
value={perm.value}
- class="rounded border-line text-primary focus:ring-primary"
+ class="rounded border-line text-primary focus:ring-focus-ring"
/>
{perm.value}
— {perm.label}
diff --git a/frontend/src/routes/admin/tags/[id]/+page.svelte b/frontend/src/routes/admin/tags/[id]/+page.svelte
index 50112c8d..a0336c33 100644
--- a/frontend/src/routes/admin/tags/[id]/+page.svelte
+++ b/frontend/src/routes/admin/tags/[id]/+page.svelte
@@ -104,7 +104,7 @@ $effect(() => {
name="name"
value={data.tag.name}
required
- class="w-full rounded-sm border border-line bg-surface px-3 py-2 text-sm text-ink focus:ring-1 focus:ring-primary focus:outline-none"
+ class="w-full rounded-sm border border-line bg-surface px-3 py-2 text-sm text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/admin/users/UsersListPanel.svelte b/frontend/src/routes/admin/users/UsersListPanel.svelte
index d1bcf920..a76cc7ab 100644
--- a/frontend/src/routes/admin/users/UsersListPanel.svelte
+++ b/frontend/src/routes/admin/users/UsersListPanel.svelte
@@ -106,7 +106,7 @@ const filtered = $derived(
type="search"
bind:value={searchQuery}
placeholder={m.admin_users_search_placeholder()}
- class="w-full rounded-sm border border-line bg-surface px-2 py-1.5 text-sm text-ink placeholder:text-ink-3 focus:ring-1 focus:ring-primary focus:outline-none"
+ class="w-full rounded-sm border border-line bg-surface px-2 py-1.5 text-sm text-ink placeholder:text-ink-3 focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/admin/users/new/AccountSection.svelte b/frontend/src/routes/admin/users/new/AccountSection.svelte
index 02eb36e4..f567e7e6 100644
--- a/frontend/src/routes/admin/users/new/AccountSection.svelte
+++ b/frontend/src/routes/admin/users/new/AccountSection.svelte
@@ -14,7 +14,7 @@ import { m } from '$lib/paraglide/messages.js';
type="text"
name="username"
required
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -26,6 +26,6 @@ import { m } from '$lib/paraglide/messages.js';
type="password"
name="password"
required
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/conversations/ConversationFilterBar.svelte b/frontend/src/routes/conversations/ConversationFilterBar.svelte
index 25e00e5d..2c67890d 100644
--- a/frontend/src/routes/conversations/ConversationFilterBar.svelte
+++ b/frontend/src/routes/conversations/ConversationFilterBar.svelte
@@ -31,7 +31,7 @@ let {
onapplyFilters()}
- class="block w-full border-line py-2.5 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full border-line py-2.5 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -113,7 +113,7 @@ let {
type="date"
bind:value={toDate}
onchange={() => onapplyFilters()}
- class="block w-full border-line py-2.5 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full border-line py-2.5 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/documents/new/+page.svelte b/frontend/src/routes/documents/new/+page.svelte
index 5bfd3ccb..42c8ab3b 100644
--- a/frontend/src/routes/documents/new/+page.svelte
+++ b/frontend/src/routes/documents/new/+page.svelte
@@ -90,7 +90,7 @@ $effect(() => {
titleOverride = (e.target as HTMLInputElement).value;
titleDirty = true;
}}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
placeholder="Titel eingeben…"
/>
diff --git a/frontend/src/routes/korrespondenz/ConversationFilterBar.svelte b/frontend/src/routes/korrespondenz/ConversationFilterBar.svelte
index 25e00e5d..2c67890d 100644
--- a/frontend/src/routes/korrespondenz/ConversationFilterBar.svelte
+++ b/frontend/src/routes/korrespondenz/ConversationFilterBar.svelte
@@ -31,7 +31,7 @@ let {
onapplyFilters()}
- class="block w-full border-line py-2.5 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full border-line py-2.5 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -113,7 +113,7 @@ let {
type="date"
bind:value={toDate}
onchange={() => onapplyFilters()}
- class="block w-full border-line py-2.5 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full border-line py-2.5 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/persons/[id]/edit/PersonEditForm.svelte b/frontend/src/routes/persons/[id]/edit/PersonEditForm.svelte
index de77c3e7..380f343f 100644
--- a/frontend/src/routes/persons/[id]/edit/PersonEditForm.svelte
+++ b/frontend/src/routes/persons/[id]/edit/PersonEditForm.svelte
@@ -26,7 +26,7 @@ let {
type="text"
required
value={person.firstName}
- class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -39,7 +39,7 @@ let {
type="text"
required
value={person.lastName}
- class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -51,7 +51,7 @@ let {
name="alias"
type="text"
value={person.alias ?? ''}
- class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -66,7 +66,7 @@ let {
max="2100"
placeholder={m.person_placeholder_year()}
value={person.birthYear ?? ''}
- class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -81,7 +81,7 @@ let {
max="2100"
placeholder={m.person_placeholder_year()}
value={person.deathYear ?? ''}
- class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -93,7 +93,7 @@ let {
name="notes"
rows="4"
placeholder={m.person_placeholder_notes()}
- class="block w-full resize-y rounded border border-line px-3 py-2 font-serif text-ink focus:border-ink focus:outline-none"
+ class="block w-full resize-y rounded border border-line px-3 py-2 font-serif text-ink focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>{person.notes ?? ''}
diff --git a/frontend/src/routes/persons/new/+page.svelte b/frontend/src/routes/persons/new/+page.svelte
index 733a17b2..2c8d51a1 100644
--- a/frontend/src/routes/persons/new/+page.svelte
+++ b/frontend/src/routes/persons/new/+page.svelte
@@ -48,7 +48,7 @@ let { form } = $props();
name="firstName"
type="text"
required
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -61,7 +61,7 @@ let { form } = $props();
name="lastName"
type="text"
required
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -74,7 +74,7 @@ let { form } = $props();
name="alias"
type="text"
placeholder={m.form_placeholder_alias()}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -89,7 +89,7 @@ let { form } = $props();
min="1"
max="2100"
placeholder={m.person_placeholder_year()}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -104,7 +104,7 @@ let { form } = $props();
min="1"
max="2100"
placeholder={m.person_placeholder_year()}
- class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -117,7 +117,7 @@ let { form } = $props();
name="notes"
rows="4"
placeholder={m.person_placeholder_notes()}
- class="block w-full resize-y rounded border border-line p-2 text-sm shadow-sm focus:border-ink focus:ring-ink"
+ class="block w-full resize-y rounded border border-line p-2 text-sm shadow-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>
diff --git a/frontend/src/routes/profile/PasswordChangeForm.svelte b/frontend/src/routes/profile/PasswordChangeForm.svelte
index 3009ad47..32145da3 100644
--- a/frontend/src/routes/profile/PasswordChangeForm.svelte
+++ b/frontend/src/routes/profile/PasswordChangeForm.svelte
@@ -39,7 +39,7 @@ let {
type="password"
name="currentPassword"
required
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -51,7 +51,7 @@ let {
type="password"
name="newPassword"
required
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -63,7 +63,7 @@ let {
type="password"
name="confirmPassword"
required
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
diff --git a/frontend/src/routes/profile/PersonalInfoForm.svelte b/frontend/src/routes/profile/PersonalInfoForm.svelte
index 9f223975..684f8462 100644
--- a/frontend/src/routes/profile/PersonalInfoForm.svelte
+++ b/frontend/src/routes/profile/PersonalInfoForm.svelte
@@ -57,7 +57,7 @@ function handleBirthDateInput(e: Event) {
type="text"
name="firstName"
value={user?.firstName ?? ''}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -69,7 +69,7 @@ function handleBirthDateInput(e: Event) {
type="text"
name="lastName"
value={user?.lastName ?? ''}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -82,7 +82,7 @@ function handleBirthDateInput(e: Event) {
placeholder="TT.MM.JJJJ"
value={birthDateDisplay}
oninput={handleBirthDateInput}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -95,7 +95,7 @@ function handleBirthDateInput(e: Event) {
type="email"
name="email"
value={user?.email ?? ''}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
/>
@@ -107,7 +107,7 @@ function handleBirthDateInput(e: Event) {
name="contact"
rows="3"
placeholder={m.profile_contact_placeholder()}
- class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:border-ink focus:outline-none"
+ class="w-full rounded-sm border border-line px-3 py-2 font-serif text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring"
>{user?.contact ?? ''}