From ed7e19766eac6ac1a67affb6e7b10483b66b2d55 Mon Sep 17 00:00:00 2001 From: stephanie rousset Date: Tue, 3 Jun 2025 10:03:34 +0200 Subject: [PATCH 1/2] fix: update flag modals to imporve accessibility --- .../decidim/report_button/flag_modal.erb | 20 ++++++++++-------- .../decidim/report_user_button/flag_modal.erb | 21 ++++++++++--------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/decidim-core/app/cells/decidim/report_button/flag_modal.erb b/decidim-core/app/cells/decidim/report_button/flag_modal.erb index 12108f755d82a..17d6577cadc95 100644 --- a/decidim-core/app/cells/decidim/report_button/flag_modal.erb +++ b/decidim-core/app/cells/decidim/report_button/flag_modal.erb @@ -6,16 +6,18 @@
-

<%= t("decidim.shared.flag_modal.reason") %>:

- <%= f.collection_radio_buttons :reason, [ - [:spam, t("decidim.shared.flag_modal.spam")], - [:offensive, t("decidim.shared.flag_modal.offensive")], - [:does_not_belong, t("decidim.shared.flag_modal.does_not_belong", organization_name: current_organization_name)] - ], :first, :last do |builder| - builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } - end %> +
+ <%= t("decidim.shared.flag_modal.reason") %>: + <%= f.collection_radio_buttons :reason, [ + [:spam, t("decidim.shared.flag_modal.spam")], + [:offensive, t("decidim.shared.flag_modal.offensive")], + [:does_not_belong, t("decidim.shared.flag_modal.does_not_belong", organization_name: current_organization_name)] + ], :first, :last do |builder| + builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } + end %> +
- <%= f.text_area :details, rows: 4, label_options: { class: "flag-modal__form-textarea-label", for: nil }, id: nil %> + <%= f.text_area :details, rows: 4, label_options: { class: "flag-modal__form-textarea-label", for: "additional-comments-#{modal_id}" }, id: "additional-comments-#{modal_id}" %> <% if frontend_administrable? %> <%= f.check_box :hide, diff --git a/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb b/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb index f533a58d58101..cd874a751f4fa 100644 --- a/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb +++ b/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb @@ -6,16 +6,17 @@

<%= t("decidim.shared.flag_user_modal.description") %>

-

<%= t("decidim.shared.flag_modal.reason") %>:

- <%= f.collection_radio_buttons :reason, [ - [:spam, t("decidim.shared.flag_user_modal.spam")], - [:offensive, t("decidim.shared.flag_user_modal.offensive")], - [:does_not_belong, t("decidim.shared.flag_user_modal.does_not_belong", organization_name: current_organization_name)] - ], :first, :last do |builder| - builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } - end %> - - <%= f.text_area :details, rows: 4, label_options: { class: "flag-modal__form-textarea-label", for: nil }, id: nil %> +
+ <%= t("decidim.shared.flag_modal.reason") %>: + <%= f.collection_radio_buttons :reason, [ + [:spam, t("decidim.shared.flag_user_modal.spam")], + [:offensive, t("decidim.shared.flag_user_modal.offensive")], + [:does_not_belong, t("decidim.shared.flag_user_modal.does_not_belong", organization_name: current_organization_name)] + ], :first, :last do |builder| + builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } + end %> +
+ <%= f.text_area :details, rows: 4, label_options: { class: "flag-modal__form-textarea-label", for: "additional-comments-#{modal_id}" }, id: "additional-comments-#{modal_id}" %> <% if frontend_administrable? %> <%= f.check_box :block, From eafcdd10779a8d8cc75baa98ec382d25d847135c Mon Sep 17 00:00:00 2001 From: stephanie rousset Date: Tue, 3 Jun 2025 10:28:36 +0200 Subject: [PATCH 2/2] fix: add values to for and id --- decidim-core/app/cells/decidim/report_button/flag_modal.erb | 2 +- .../app/cells/decidim/report_user_button/flag_modal.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/decidim-core/app/cells/decidim/report_button/flag_modal.erb b/decidim-core/app/cells/decidim/report_button/flag_modal.erb index 17d6577cadc95..1b0d33f3a5096 100644 --- a/decidim-core/app/cells/decidim/report_button/flag_modal.erb +++ b/decidim-core/app/cells/decidim/report_button/flag_modal.erb @@ -13,7 +13,7 @@ [:offensive, t("decidim.shared.flag_modal.offensive")], [:does_not_belong, t("decidim.shared.flag_modal.does_not_belong", organization_name: current_organization_name)] ], :first, :last do |builder| - builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } + builder.label(for: "#{builder.value.to_s}-#{modal_id}", class: "form__wrapper-checkbox-label") { builder.radio_button(id: "#{builder.value.to_s}-#{modal_id}") + builder.text } end %> diff --git a/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb b/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb index cd874a751f4fa..6aa5585e9bd3b 100644 --- a/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb +++ b/decidim-core/app/cells/decidim/report_user_button/flag_modal.erb @@ -13,7 +13,7 @@ [:offensive, t("decidim.shared.flag_user_modal.offensive")], [:does_not_belong, t("decidim.shared.flag_user_modal.does_not_belong", organization_name: current_organization_name)] ], :first, :last do |builder| - builder.label(for: nil, class: "form__wrapper-checkbox-label") { builder.radio_button(id: nil) + builder.text } + builder.label(for: "#{builder.value.to_s}-#{modal_id}", class: "form__wrapper-checkbox-label") { builder.radio_button(id: "#{builder.value.to_s}-#{modal_id}") + builder.text } end %> <%= f.text_area :details, rows: 4, label_options: { class: "flag-modal__form-textarea-label", for: "additional-comments-#{modal_id}" }, id: "additional-comments-#{modal_id}" %>