cisagov / manage.get.gov

A Django-based domain name registrar that interfaces with an EPP registry
https://get.gov
Other
60 stars 18 forks source link

DS data page: No error messages for empty fields and deletion when adding DS data record 3 and beyond #2774

Open AnnaGingle opened 2 months ago

AnnaGingle commented 2 months ago

Current Behavior

When a user attempts to add a 3rd DS data record (or any subsequent record after 3) but does not fill out the required fields for DS data record 3 and then clicks "Save," the form automatically deletes DS data record 3 without displaying any error messages.

This behavior violates Section 508 Trusted Tester IDs 3.3.1-error-identification (WCAG 3.3.1) and 3.3.4-error-prevention (WCAG 3.3.4).

https://github.com/user-attachments/assets/0a9c9a4a-1242-4ab8-819d-f7a2f7d0eb46

Expected Behavior

When a user creates a new record and they did not fill out the required fields. The user presses save and they are thrown errors prompting the user to fill out the required fields. getgov-staging app cloud gov_domain_9950_dns_dnssec_dsdata (1)

Steps to Reproduce

  1. Create and fill out all the required fields for 2 DS data records
  2. Create a third DS data record and do not fill out any fields for that record
  3. Press save

Environment

Environment: Staging Browser: Chrome

Additional Context

No response

Issue Links

Prioritization Comments

WCAG Conformance Level: 2.1 AA WCAG Standard that applies: 3.3.1 - Error Identification (Critical) 3.3.4 - Error Prevention (Critical, partially supports) Critical Failure if Not Met?:
Prioritization: High/Must Do Reason: This issue impacts both user experience and accessibility by failing to inform users of required field errors before automatically deleting their input. This can lead to user confusion and frustration, as well as a loss of entered data without warning, which is especially problematic for users with disabilities who rely on error prompts for navigation and form completion.

gabydisarli commented 3 weeks ago

Note: this may resolve itself once the updates in #2911 are implemented. @abroddrick