diff --git a/src/pretix/api/serializers/organizer.py b/src/pretix/api/serializers/organizer.py
index ad262415f..acff75904 100644
--- a/src/pretix/api/serializers/organizer.py
+++ b/src/pretix/api/serializers/organizer.py
@@ -426,6 +426,9 @@ class OrganizerSettingsSerializer(SettingsSerializer):
'organizer_logo_image_inherit',
'organizer_logo_image',
'privacy_url',
+ 'accessibility_url',
+ 'accessibility_title',
+ 'accessibility_text',
'cookie_consent',
'cookie_consent_dialog_title',
'cookie_consent_dialog_text',
diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py
index 8caab69c5..50495abc1 100644
--- a/src/pretix/base/settings.py
+++ b/src/pretix/base/settings.py
@@ -2063,6 +2063,38 @@ DEFAULTS = {
),
'serializer_class': I18nURLField,
},
+ 'accessibility_url': {
+ 'default': None,
+ 'type': LazyI18nString,
+ 'form_class': I18nURLFormField,
+ 'form_kwargs': dict(
+ label=_("Accessibility information URL"),
+ help_text=_("This should point e.g. to a part of your website that explains how your ticket shop complies "
+ "with accessibility regulation."),
+ widget=I18nTextInput,
+ ),
+ 'serializer_class': I18nURLField,
+ },
+ 'accessibility_title': {
+ 'default': LazyI18nString.from_gettext(gettext_noop("Accessibility information")),
+ 'type': LazyI18nString,
+ 'form_class': I18nFormField,
+ 'form_kwargs': dict(
+ label=_("Accessibility information title"),
+ widget=I18nTextInput,
+ ),
+ 'serializer_class': I18nURLField,
+ },
+ 'accessibility_text': {
+ 'default': None,
+ 'type': LazyI18nString,
+ 'form_class': I18nFormField,
+ 'form_kwargs': dict(
+ label=_("Accessibility information text"),
+ widget=I18nMarkdownTextarea,
+ ),
+ 'serializer_class': I18nURLField,
+ },
'confirm_texts': {
'default': LazyI18nStringList(),
'type': LazyI18nStringList,
diff --git a/src/pretix/base/validators.py b/src/pretix/base/validators.py
index 254e6778a..3b2a63531 100644
--- a/src/pretix/base/validators.py
+++ b/src/pretix/base/validators.py
@@ -73,6 +73,7 @@ class EventSlugBanlistValidator(BanlistValidator):
'customer',
'account',
'lead',
+ 'accessibility',
]
diff --git a/src/pretix/control/forms/organizer.py b/src/pretix/control/forms/organizer.py
index 8978eb20e..688f66629 100644
--- a/src/pretix/control/forms/organizer.py
+++ b/src/pretix/control/forms/organizer.py
@@ -498,6 +498,9 @@ class OrganizerSettingsForm(SettingsForm):
'theme_round_borders',
'primary_font',
'privacy_url',
+ 'accessibility_url',
+ 'accessibility_title',
+ 'accessibility_text',
'cookie_consent',
'cookie_consent_dialog_title',
'cookie_consent_dialog_text',
diff --git a/src/pretix/control/templates/pretixcontrol/organizers/edit.html b/src/pretix/control/templates/pretixcontrol/organizers/edit.html
index f9d000a1f..acc04a27d 100644
--- a/src/pretix/control/templates/pretixcontrol/organizers/edit.html
+++ b/src/pretix/control/templates/pretixcontrol/organizers/edit.html
@@ -200,6 +200,24 @@
{% bootstrap_field sform.cookie_consent_dialog_button_yes layout="control" %}
{% bootstrap_field sform.cookie_consent_dialog_button_no layout="control" %}
+