From 74cea09f6c4d3d241b133b2462d5bd9c0ea9ffa0 Mon Sep 17 00:00:00 2001
From: Richard Schreiber
Date: Wed, 11 Jun 2025 10:47:17 +0200
Subject: [PATCH] [A11y] add missing autcomplete (#5236)
---
src/pretix/presale/forms/customer.py | 9 ++++++---
src/pretix/presale/forms/waitinglist.py | 2 ++
.../pretixpresale/event/fragment_voucher_form.html | 5 +++--
.../templates/pretixpresale/event/waitinglist.html | 4 ++--
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/pretix/presale/forms/customer.py b/src/pretix/presale/forms/customer.py
index 9d188dd64a..264b11b9bb 100644
--- a/src/pretix/presale/forms/customer.py
+++ b/src/pretix/presale/forms/customer.py
@@ -342,6 +342,7 @@ class ResetPasswordForm(forms.Form):
}
email = forms.EmailField(
label=_('Email'),
+ widget=forms.EmailInput(attrs={'autocomplete': 'email'}),
)
def __init__(self, request=None, *args, **kwargs):
@@ -389,12 +390,12 @@ class ChangePasswordForm(forms.Form):
)
password_current = forms.CharField(
label=_('Your current password'),
- widget=forms.PasswordInput,
+ widget=forms.PasswordInput(attrs={'autocomplete': 'current-password'}),
required=True
)
password = forms.CharField(
label=_('New password'),
- widget=forms.PasswordInput,
+ widget=forms.PasswordInput(attrs={'minlength': '8', 'autocomplete': 'new-password'}),
max_length=4096,
required=True
)
@@ -458,7 +459,7 @@ class ChangeInfoForm(forms.ModelForm):
}
password_current = forms.CharField(
label=_('Your current password'),
- widget=forms.PasswordInput,
+ widget=forms.PasswordInput(attrs={'autocomplete': 'current-password'}),
help_text=_('Only required if you change your email address'),
max_length=4096,
required=False
@@ -472,6 +473,8 @@ class ChangeInfoForm(forms.ModelForm):
self.request = request
super().__init__(*args, **kwargs)
+ self.fields['email'].widget.attrs['autocomplete'] = 'email'
+
self.fields['name_parts'] = NamePartsFormField(
max_length=255,
required=True,
diff --git a/src/pretix/presale/forms/waitinglist.py b/src/pretix/presale/forms/waitinglist.py
index c2d545ed67..030fe96909 100644
--- a/src/pretix/presale/forms/waitinglist.py
+++ b/src/pretix/presale/forms/waitinglist.py
@@ -57,6 +57,8 @@ class WaitingListForm(forms.ModelForm):
event = self.event
+ self.fields['email'].widget.attrs['autocomplete'] = 'email'
+
if event.settings.waiting_list_names_asked:
self.fields['name_parts'] = NamePartsFormField(
max_length=255,
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_voucher_form.html b/src/pretix/presale/templates/pretixpresale/event/fragment_voucher_form.html
index 7fcdd8fd15..0834b30765 100644
--- a/src/pretix/presale/templates/pretixpresale/event/fragment_voucher_form.html
+++ b/src/pretix/presale/templates/pretixpresale/event/fragment_voucher_form.html
@@ -15,8 +15,9 @@
+ {% if "voucher_invalid" in request.GET %} aria-describedby="error-message"{% endif %}
+ autocomplete="off"
+ placeholder="{% trans "Voucher code" %}" required="required">
diff --git a/src/pretix/presale/templates/pretixpresale/event/waitinglist.html b/src/pretix/presale/templates/pretixpresale/event/waitinglist.html
index 3165530d45..dcf21698ce 100644
--- a/src/pretix/presale/templates/pretixpresale/event/waitinglist.html
+++ b/src/pretix/presale/templates/pretixpresale/event/waitinglist.html
@@ -34,13 +34,13 @@
{% endblocktrans %}
{% endif %}
-
+
{% blocktrans trimmed %}
You will not receive a confirmation email after you have been added to the waiting list. We will only contact you once a spot opens up.
{% endblocktrans %}
-
+
{% trans "Add me to the list" %}