From 568698e6de823abb910256cf6905b4246b8805ab Mon Sep 17 00:00:00 2001 From: Roy Johnson Date: Wed, 14 May 2025 12:41:28 -0500 Subject: [PATCH 1/2] CORE-983: Error handling for login page fields [CORE-983] When they have errors, email and password fields will have `aria-invalid=true` and `aria-errormessage` attributes set --- app/helpers/newflow_form_helper.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/helpers/newflow_form_helper.rb b/app/helpers/newflow_form_helper.rb index 3befa8a4a..07ebae3ad 100644 --- a/app/helpers/newflow_form_helper.rb +++ b/app/helpers/newflow_form_helper.rb @@ -77,7 +77,9 @@ def text_field(name:, onkeydown: onkeydown, disabled: disabled, 'aria-described-by': described, - 'aria-required': required + 'aria-required': required, + 'aria-errormessage': errors_div.present? ? "errors-for-#{name}" : nil, + 'aria-invalid': errors_div.present? ? true : nil ) end "#{input}\n#{errors_div}".html_safe @@ -126,7 +128,7 @@ def get_errors_div(name:) return '' if field_errors.empty? - c.content_tag(:div, class: "errors invalid-message") do + c.content_tag(:div, class: "errors invalid-message", id: "errors-for-#{name}") do # TODO: show multiple error messages per field when the pattern-library is fixed. error_divs = field_errors.map do |field_error| field_error.translate.html_safe From c92091ce11959e5e1cc7d3cdf6fed5fdf5bfa004 Mon Sep 17 00:00:00 2001 From: Roy Johnson Date: Wed, 14 May 2025 15:02:42 -0500 Subject: [PATCH 2/2] CORE-985: Error handling for PIN confirmation --- app/helpers/newflow_form_helper.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/helpers/newflow_form_helper.rb b/app/helpers/newflow_form_helper.rb index 07ebae3ad..da2286db9 100644 --- a/app/helpers/newflow_form_helper.rb +++ b/app/helpers/newflow_form_helper.rb @@ -61,7 +61,9 @@ def text_field(name:, onkeyup: onkeyup, onkeydown: onkeydown, disabled: disabled, - 'aria-required': required + 'aria-required': required, + 'aria-errormessage': errors_div.present? ? "errors-for-#{name}" : nil, + 'aria-invalid': errors_div.present? ? true : nil ) else input = (