From a34c247611464b0b6876d277df6e725f28ff3ddd Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 12 Apr 2026 14:16:53 +0200 Subject: [PATCH] feat(a11y): use autocomplete='new-password' on register form Adds autocomplete prop to Password component (defaults to 'current-password'). Register page passes 'new-password' so password managers offer to generate a strong password. Fixes WCAG 1.3.5 (Identify Input Purpose). --- frontend/src/components/input/Password.vue | 4 +++- frontend/src/views/user/Register.vue | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/input/Password.vue b/frontend/src/components/input/Password.vue index 919b14592..e0c1977cc 100644 --- a/frontend/src/components/input/Password.vue +++ b/frontend/src/components/input/Password.vue @@ -7,7 +7,7 @@ :placeholder="$t('user.auth.passwordPlaceholder')" required :type="passwordFieldType" - autocomplete="current-password" + :autocomplete="autocomplete" :tabindex="tabindex" @keyup.enter="e => $emit('submit', e)" @focusout="() => {validate(); validateAfterFirst = true}" @@ -44,9 +44,11 @@ const props = withDefaults(defineProps<{ // This prop is a workaround to trigger validation from the outside when the user never had focus in the input. validateInitially?: boolean, validateMinLength?: boolean, + autocomplete?: string, }>(), { tabindex: undefined, validateMinLength: true, + autocomplete: 'current-password', }) const emit = defineEmits<{ diff --git a/frontend/src/views/user/Register.vue b/frontend/src/views/user/Register.vue index 3995bf96d..60fb8f84d 100644 --- a/frontend/src/views/user/Register.vue +++ b/frontend/src/views/user/Register.vue @@ -47,6 +47,7 @@ >{{ $t('user.auth.password') }}