Receive Validation Feedback When Selected Period Is Invalid for Bufdir Submission
Bufdir imposes structural requirements on reporting periods — for instance, reports must cover complete calendar months and must not span partial grant years without explicit justification. The report period validator should apply these rules client-side and present plain-language explanations of any violation, avoiding technical jargon so that coordinators with varying digital literacy levels can understand and correct the issue. Validation messages must comply with WCAG 2.2 AA for color contrast and must be announced to screen readers via live regions.
User Story
Acceptance Criteria
- Given the coordinator selects a period that ends in the middle of a calendar month, when they attempt to confirm, then the period validator surfaces a message explaining that Bufdir requires complete calendar month boundaries
- Given the coordinator selects a period that spans more than one grant year without split-year configuration, when they confirm, then a warning explains the cross-year span and prompts confirmation or correction
- Given a validation error is shown, when the coordinator reads the message, then it is written in plain language without technical abbreviations and includes the specific corrective action needed
- Given the coordinator uses a screen reader, when a validation error appears, then the error text is announced automatically via an accessibility live region without requiring the user to navigate to the error
- Given the coordinator corrects the period to satisfy all validation rules, when all validations pass, then the confirm button becomes enabled and no error messages are shown
Business Value
Invalid Bufdir submissions result in rejected reports and potential delays in grant disbursements, which directly impacts the financial operations of volunteer organizations. Catching these errors at the period selection step — before the report is generated and submitted — eliminates wasted processing time and ensures coordinators submit correctly structured reports on the first attempt.
Components
- Report Period Validator service
- Period Selection Screen ui
- Period Selection BLoC infrastructure
- Plain Language Error Display ui
- Live Region Announcer ui