Problem
Field-label validation errors are rendered as alerts in Field Manager, Field Menu, Board, and Calendar, but the affected label inputs do not expose invalid state or reference the error text. Screen-reader users cannot reliably associate the feedback with the field they must correct.
The blank-label UI tests also assert only that an alert appears; they should prove the rejected submission leaves the schema unchanged.
Outcome
All field-label creation and rename surfaces communicate validation failures semantically and have regression coverage for the no-write guarantee.
Acceptance criteria
- Field Manager, Field Menu, Board initial-property, and Calendar initial-property label inputs set
aria-invalid and reference their own validation message while that error is active.
- Generic connection or operation failures do not incorrectly mark the label input invalid.
- Component tests assert a blank rejected submission leaves each affected Collection schema unchanged.
- Existing visible inline alerts remain intact.
Evidence
Problem
Field-label validation errors are rendered as alerts in Field Manager, Field Menu, Board, and Calendar, but the affected label inputs do not expose invalid state or reference the error text. Screen-reader users cannot reliably associate the feedback with the field they must correct.
The blank-label UI tests also assert only that an alert appears; they should prove the rejected submission leaves the schema unchanged.
Outcome
All field-label creation and rename surfaces communicate validation failures semantically and have regression coverage for the no-write guarantee.
Acceptance criteria
aria-invalidand reference their own validation message while that error is active.Evidence
FieldManagerDialog.svelteandFieldMenu.svelterender genericrole="alert"messages without input association.FieldManagerDialog.svelte.test.tsandcollection-editing-contract.svelte.test.tsassert the blank-label alert but not schema preservation.