From 337346e3d13db4e6ce8db8e27966fae5bc8a0cb3 Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Thu, 28 Aug 2025 16:51:59 +0800 Subject: [PATCH 1/2] MDL-86489 mod_feedback: Mark required icon as decorative * Set `alt` param as empty, but add `title` attribute for the sake of sighted users. * Add a visually hidden string that indicates the element is required. --- mod/feedback/classes/complete_form.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mod/feedback/classes/complete_form.php b/mod/feedback/classes/complete_form.php index cc936023ce5..ee826b3b579 100644 --- a/mod/feedback/classes/complete_form.php +++ b/mod/feedback/classes/complete_form.php @@ -348,7 +348,13 @@ class mod_feedback_complete_form extends moodleform { // Add red asterisks on required fields. if ($item->required) { - $required = $OUTPUT->pix_icon('req', get_string('requiredelement', 'form'), 'moodle', ['class' => 'ms-2']); + $requiredlabel = get_string('requiredelement', 'form'); + $pixparams = [ + 'class' => 'ms-2', + 'title' => $requiredlabel, + ]; + $required = $OUTPUT->pix_icon('req', '', 'moodle', $pixparams) + . \core\output\html_writer::span("($requiredlabel)", 'sr-only'); $element->setLabel($element->getLabel() . $required); $this->hasrequired = true; } From cc10e8e24578cb609bf801df25959568f506c897 Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Fri, 29 Aug 2025 20:49:10 +0800 Subject: [PATCH 2/2] MDL-86489 mod_feedback: Add accessibility coverage for Questions tab * Also fix the heading level issue found by the test. --- mod/feedback/edit.php | 2 +- mod/feedback/tests/behat/templates.feature | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mod/feedback/edit.php b/mod/feedback/edit.php index e5f8b488393..991abed683b 100644 --- a/mod/feedback/edit.php +++ b/mod/feedback/edit.php @@ -96,7 +96,7 @@ $PAGE->add_body_class('limitedwidth'); $PAGE->requires->js_call_amd('mod_feedback/edit', 'init', [$cm->id]); echo $OUTPUT->header(); -echo $OUTPUT->heading(get_string('edit_items', 'mod_feedback'), 3); +echo $OUTPUT->heading(get_string('edit_items', 'mod_feedback'), $PAGE->activityheader->get_heading_level()); echo $renderer->main_action_bar($actionbar); $form = new mod_feedback_complete_form(mod_feedback_complete_form::MODE_EDIT, $feedbackstructure, 'feedback_edit_form'); diff --git a/mod/feedback/tests/behat/templates.feature b/mod/feedback/tests/behat/templates.feature index 2fa635059e5..c169059ae0d 100644 --- a/mod/feedback/tests/behat/templates.feature +++ b/mod/feedback/tests/behat/templates.feature @@ -157,6 +157,7 @@ Feature: Saving, using and deleting feedback templates # Save feedback as both public and course template When I am on the "Learning experience course 1" "feedback activity" page logged in as manager And I navigate to "Questions" in current page administration + And the "region-main" "region" should meet accessibility standards with "best-practice" extra tests And I press "Actions" And I choose "Save as new template" in the open action menu And I set the field "Name" to "My public template"