diff --git a/app/views/form/_checkbox_question.html.erb b/app/views/form/_checkbox_question.html.erb
index f02e7fb3f..b327e94d2 100644
--- a/app/views/form/_checkbox_question.html.erb
+++ b/app/views/form/_checkbox_question.html.erb
@@ -1,5 +1,5 @@
<%= f.govuk_check_boxes_fieldset question.id.to_sym,
- legend: { text: question.header.html_safe, size: "l" },
+ legend: { text: question.header.html_safe, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
hint: { text: question.hint_text } do %>
<% question.answer_options.map do |key, val| %>
diff --git a/app/views/form/_date_question.html.erb b/app/views/form/_date_question.html.erb
index 032f9a7c5..61eb34b2a 100644
--- a/app/views/form/_date_question.html.erb
+++ b/app/views/form/_date_question.html.erb
@@ -1,6 +1,6 @@
<%= f.govuk_date_field question.id.to_sym,
hint: { text: question.hint_text },
- legend: { text: question.header.html_safe, size: "l"},
+ legend: { text: question.header.html_safe, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
width: 20,
**stimulus_html_attributes(question)
%>
diff --git a/app/views/form/_numeric_question.html.erb b/app/views/form/_numeric_question.html.erb
index ff6237318..5a75c46c8 100644
--- a/app/views/form/_numeric_question.html.erb
+++ b/app/views/form/_numeric_question.html.erb
@@ -1,6 +1,6 @@
<%= f.govuk_number_field question.id.to_sym,
hint: { text: question.hint_text },
- label: { text: question.header.html_safe, size: "l"},
+ label: { text: question.header.html_safe, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
min: question.min, max: question.max, step: question.step,
width: 20, :readonly => question.read_only?,
**stimulus_html_attributes(question)
diff --git a/app/views/form/_radio_question.html.erb b/app/views/form/_radio_question.html.erb
index 2c96f5391..a922fc3e0 100644
--- a/app/views/form/_radio_question.html.erb
+++ b/app/views/form/_radio_question.html.erb
@@ -1,5 +1,5 @@
<%= f.govuk_radio_buttons_fieldset question.id.to_sym,
- legend: { text: question.header.html_safe, size: "l" },
+ legend: { text: question.header.html_safe, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
hint: { text: question.hint_text },
small: (question.answer_options.size > 5) do %>
diff --git a/app/views/form/_select_question.html.erb b/app/views/form/_select_question.html.erb
index 4e43a3d84..b6c431286 100644
--- a/app/views/form/_select_question.html.erb
+++ b/app/views/form/_select_question.html.erb
@@ -3,6 +3,6 @@
answers,
:name,
:name,
- label: { text: question.header},
+ label: { text: question.header, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
hint: { text: question.hint_text }
%>
diff --git a/app/views/form/_text_question.html.erb b/app/views/form/_text_question.html.erb
index 50e9f6dec..c062b7e62 100644
--- a/app/views/form/_text_question.html.erb
+++ b/app/views/form/_text_question.html.erb
@@ -1,6 +1,6 @@
<%= f.govuk_text_field question.id.to_sym,
hint: { text: question.hint_text },
- label: { text: question.header.html_safe, size: "l"},
+ label: { text: question.header.html_safe, size: page_header.nil? ? "l" : "m", tag: page_header.nil? ? "h2" : "h1" },
width: 20,
**stimulus_html_attributes(question)
%>
diff --git a/app/views/form/page.html.erb b/app/views/form/page.html.erb
index 3aa77fc77..0eee408e7 100644
--- a/app/views/form/page.html.erb
+++ b/app/views/form/page.html.erb
@@ -5,8 +5,11 @@
<%= turbo_frame_tag "case_log_form", target: "_top" do %>
+
+ <%= subsection %>
+
<% if page.header.present? %>
-
+
<%= page.header %>
<% end %>
@@ -14,7 +17,7 @@
<%= f.govuk_error_summary %>
<% page.questions.map do |question| %>
<%= display_question_key_div(page, question) %> >
- <%= render partial: "form/#{question.type}_question", locals: { question: question, f: f } %>
+ <%= render partial: "form/#{question.type}_question", locals: { question: question, page_header: page.header, f: f } %>
<% end %>