diff --git a/app/components/dossiers/errors_full_messages_component/errors_full_messages_component.html.haml b/app/components/dossiers/errors_full_messages_component/errors_full_messages_component.html.haml index 4b0245804..b28de1de3 100644 --- a/app/components/dossiers/errors_full_messages_component/errors_full_messages_component.html.haml +++ b/app/components/dossiers/errors_full_messages_component/errors_full_messages_component.html.haml @@ -1,5 +1,6 @@ -.fr-alert.fr-alert--error.fr-mb-3w{ role: "alertdialog" } +.fr-alert.fr-alert--error.fr-mb-3w{ role: 'alert' } - if dedup_and_partitioned_errors.size > 0 - %h3#sumup-errors.fr-alert__title= t('.sumup_html.title', count: dedup_and_partitioned_errors.size) + %h3#sumup-errors.fr-alert__title{ data: { controller: 'autofocus' }, tabindex: '-1' } + = t('.sumup_html.title', count: dedup_and_partitioned_errors.size) %p= t('.sumup_html.content', count: dedup_and_partitioned_errors.size) = render ExpandableErrorList.new(errors: dedup_and_partitioned_errors) diff --git a/app/javascript/controllers/autofocus_controller.ts b/app/javascript/controllers/autofocus_controller.ts index 289185948..72b5198ad 100644 --- a/app/javascript/controllers/autofocus_controller.ts +++ b/app/javascript/controllers/autofocus_controller.ts @@ -2,8 +2,10 @@ import { Controller } from '@hotwired/stimulus'; export class AutofocusController extends Controller { connect() { - const element = this.element as HTMLInputElement; + const element = this.element as HTMLInputElement | HTMLElement; element.focus(); - element.setSelectionRange(0, element.value.length); + if ('value' in element) { + element.setSelectionRange(0, element.value.length); + } } }