fix(forms): drop HTML5 required on shared inputs; styled inline errors only (MAPPS-277) #301

Merged
YousifShkara merged 1 commit from fix/MAPPS-277-styled-required-error into main 2026-06-21 09:42:23 +02:00
Owner

The shared Input, Textarea, and Select propagated props.required straight onto the HTML element, which made the browser pop a native "Please fill out this field" tooltip on every submit attempt. The tooltip rendered outside the app's theme, missed the dark-mode palette entirely, and didn't agree with the styled inline errors the forms already use for server-side / format / range validation. Replace the HTML attribute with aria-required so assistive tech still announces the field as required and the visible asterisk in the label still cues sighted users; required-field validation now routes exclusively through the per-form submit handler (PMS-281, MAPPS-281 trim-and-set inline error, MAPPS-282 422 mapping). One change covers every form on every page because all of them mount through these three shared components.

#MAPPS-277

The shared `Input`, `Textarea`, and `Select` propagated `props.required` straight onto the HTML element, which made the browser pop a native "Please fill out this field" tooltip on every submit attempt. The tooltip rendered outside the app's theme, missed the dark-mode palette entirely, and didn't agree with the styled inline errors the forms already use for server-side / format / range validation. Replace the HTML attribute with `aria-required` so assistive tech still announces the field as required and the visible asterisk in the label still cues sighted users; required-field validation now routes exclusively through the per-form submit handler (PMS-281, MAPPS-281 trim-and-set inline error, MAPPS-282 422 mapping). One change covers every form on every page because all of them mount through these three shared components. #MAPPS-277
fix(forms): drop HTML5 required on shared inputs; styled inline errors only (MAPPS-277)
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 1m17s
Create release / Create release from merged PR (pull_request) Has been skipped
c697940f61
The shared `Input`, `Textarea`, and `Select` propagated `props.required` straight onto the HTML element, which made the browser pop a native "Please fill out this field" tooltip on every submit attempt. The tooltip rendered outside the app's theme, missed the dark-mode palette entirely, and didn't agree with the styled inline errors the forms already use for server-side / format / range validation. Replace the HTML attribute with `aria-required` so assistive tech still announces the field as required and the visible asterisk in the label still cues sighted users; required-field validation now routes exclusively through the per-form submit handler (PMS-281, MAPPS-281 trim-and-set inline error, MAPPS-282 422 mapping). One change covers every form on every page because all of them mount through these three shared components.

#MAPPS-277
YousifShkara deleted branch fix/MAPPS-277-styled-required-error 2026-06-21 09:42:23 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!301
No description provided.