From f07e55fe3e059383e4862b64c822ecfb5c537316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 7 Apr 2023 08:07:22 +0200 Subject: [PATCH] a11y: add aria-labels to form buttons (#41121) --- wcs/forms/root.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/wcs/forms/root.py b/wcs/forms/root.py index c24cb0e4b..bbb94b120 100644 --- a/wcs/forms/root.py +++ b/wcs/forms/root.py @@ -619,12 +619,21 @@ class FormPage(FormdefDirectoryBase, FormTemplateMixin): if self.edit_mode and (page is None or page == self.pages[-1]): form.add_submit('submit', _('Save Changes'), css_class='form-save-changes') elif not self.has_confirmation_page() and (page is None or page == self.pages[-1]): - form.add_submit('submit', _('Submit'), css_class='form-submit') + form.add_submit( + 'submit', _('Submit'), css_class='form-submit', attrs={'aria-label': _('Submit form')} + ) else: - form.add_submit('submit', _('Next'), css_class='form-next') + form.add_submit( + 'submit', _('Next'), css_class='form-next', attrs={'aria-label': _('Go to next page')} + ) if self.pages.index(page) > 0: - form.add_submit('previous', _('Previous'), css_class='form-previous') + form.add_submit( + 'previous', + _('Previous'), + css_class='form-previous', + attrs={'aria-label': _('Go back to previous page')}, + ) had_prefill = False if page_change or submit_button is True: @@ -698,11 +707,13 @@ class FormPage(FormdefDirectoryBase, FormTemplateMixin): if not self.is_popup: cancel_label = _('Cancel') + aria_label = _('Cancel form') css_class = 'cancel' if self.has_draft_support() and not (data and data.get('is_recalled_draft')): cancel_label = _('Discard') + aria_label = _('Discard form') css_class = 'cancel form-discard' - form.add_submit('cancel', cancel_label, css_class=css_class) + form.add_submit('cancel', cancel_label, css_class=css_class, attrs={'aria-label': aria_label}) if self.has_draft_support(): form.add_submit(