mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-22 11:24:54 -05:00
We recently introduced a form control that lets user choose when a broadcast ends. Based on the most recent research participant, we think: - there is a specific misunderstanding of what this control does - there is a general low level of understanding of what a ‘broadcast’ means People will try to understand what a ‘broadcast’ is by using mental models they have for other kinds of messaging, for example text messages. Other kinds of messaging are one-to-one, i.e. they go from a sender to a recipient. They are not ongoing in any way. Emails and texts are sent at a time (and for all practicable purposes are received at that same time). So, when we present the user with a form that controls time, they might well assume it controls the time when the message will be sent. This is a feature we offer for sending messages using a spreadsheet, and that’s where we’ve borrowed this pattern from. We reinforce this assumption with the labelling of the form control. By front-loading it with the word ‘When’ we are playing to the users confirmation bias, i.e. they are interpreting the meaning of the control in a way that confirms their prior beliefs about how messaging works. So this commit does two things: - re-labels the form to front-load the word ‘End’ not ‘When’ - adds text to the page explaining when the broadcast will start, so there’s a chance of overriding that confirmation bias If we can get users to go through this before sending a broadcast for real, it could help them learn what a broadcast is, and how it differs from sending text messages.
66 lines
2.2 KiB
HTML
66 lines
2.2 KiB
HTML
{% from "components/select-input.html" import select, select_list, select_nested, select_wrapper, select_input %}
|
|
|
|
{% macro radios(field, hint=None, disable=[], option_hints={}, hide_legend=False, inline=False) %}
|
|
{{ select(field, hint, disable, option_hints, hide_legend, input="radio", inline=inline) }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio_list(options, child_map, disable=[], option_hints={}) %}
|
|
{{ select_list(options, child_map, disable, option_hints, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radios_nested(field, child_map, hint=None, disable=[], option_hints={}, hide_legend=False) %}
|
|
{{ select_nested(field, child_map, hint, disable, option_hints, hide_legend, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio(option, disable=[], option_hints={}, data_target=None, as_list_item=False) %}
|
|
{{ select_input(option, disable, option_hints, data_target, as_list_item, input="radio") }}
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro radio_select(
|
|
field,
|
|
hint=None,
|
|
wrapping_class='form-group',
|
|
show_now_as_default=True,
|
|
bold_legend=False
|
|
) %}
|
|
<div class="{{ wrapping_class }} {% if field.errors %} form-group-error{% endif %}">
|
|
<fieldset>
|
|
<legend class="form-label {% if bold_legend %}govuk-!-font-weight-bold{% endif %}">
|
|
{{ field.label.text }}
|
|
{% if field.errors %}
|
|
<span class="error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}">
|
|
{{ field.errors[0] }}
|
|
</span>
|
|
{% endif %}
|
|
</legend>
|
|
<div class="radio-select" data-module="radio-select" data-categories="{{ field.categories|join(',') }}" data-show-now-as-default="{{ show_now_as_default|string|lower }}">
|
|
<div class="radio-select-column">
|
|
{% for option in field %}
|
|
<div class="multiple-choice">
|
|
{{ option }}
|
|
<label for="{{ option.id }}">
|
|
{{ option.label.text }}
|
|
</label>
|
|
</div>
|
|
{% if loop.first %}
|
|
</div>
|
|
<div class="radio-select-column">
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
{% endmacro %}
|
|
|
|
|
|
{% macro conditional_radio_panel(id) %}
|
|
<div class="conditional-radios-panel js-hidden" id="{{ id }}">
|
|
{{ caller() }}
|
|
</div>
|
|
{% endmacro %}
|