diff --git a/question/type/multichoice/renderer.php b/question/type/multichoice/renderer.php index 918fc706ce3..59f821eba15 100644 --- a/question/type/multichoice/renderer.php +++ b/question/type/multichoice/renderer.php @@ -149,10 +149,16 @@ abstract class qtype_multichoice_renderer_base extends qtype_with_combined_feedb $result .= html_writer::tag('div', $question->format_questiontext($qa), array('class' => 'qtext')); - $result .= html_writer::start_tag('div', array('class' => 'ablock no-overflow visual-scroll-x')); + $questionnumber = $options->add_question_identifier_to_label($this->prompt(), true, true); + $result .= html_writer::start_tag('fieldset', array('class' => 'ablock no-overflow visual-scroll-x')); + $legendclass = 'sr-only'; if ($question->showstandardinstruction == 1) { - $result .= html_writer::tag('div', $this->prompt(), array('class' => 'prompt')); + $legendclass = ''; } + $legendattrs = [ + 'class' => 'prompt h6 font-weight-normal ' . $legendclass, + ]; + $result .= html_writer::tag('legend', $questionnumber, $legendattrs); $result .= html_writer::start_tag('div', array('class' => 'answer')); foreach ($radiobuttons as $key => $radio) { @@ -166,7 +172,7 @@ abstract class qtype_multichoice_renderer_base extends qtype_with_combined_feedb [$qa->get_outer_question_div_unique_id()]); $result .= $this->after_choices($qa, $options); - $result .= html_writer::end_tag('div'); // Ablock. + $result .= html_writer::end_tag('fieldset'); // Ablock. if ($qa->get_state() == question_state::$invalid) { $result .= html_writer::nonempty_tag('div', diff --git a/question/type/multichoice/tests/walkthrough_test.php b/question/type/multichoice/tests/walkthrough_test.php index 87e330ab89c..51d100b048a 100644 --- a/question/type/multichoice/tests/walkthrough_test.php +++ b/question/type/multichoice/tests/walkthrough_test.php @@ -302,8 +302,10 @@ class walkthrough_test extends \qbehaviour_walkthrough_test_base { $this->render(); // Check for 'Show standard instruction'. - $standardinstruction = get_string('selectmulti', 'qtype_multichoice'); - $this->assertStringNotContainsString($standardinstruction, $this->currentoutput); + $standardinstruction = \html_writer::tag('legend', get_string('selectmulti', 'qtype_multichoice'), [ + 'class' => 'prompt h6 font-weight-normal sr-only' + ]); + $this->assertStringContainsString($standardinstruction, $this->currentoutput); } }