Accessible Expense Type Selection for Users with Disabilities
The expense type picker and mutual exclusion feedback must meet WCAG 2.2 AA requirements as required by all three workshop organisations. The accessibility service layer manages semantic labels, focus order, and live region announcements. Each expense type card has a minimum touch target of 44x44 dp, a descriptive semantic label combining the type name and its current selection state, and sufficient colour contrast between text, icons, and backgrounds. Disabled (mutually excluded) types are announced as unavailable with the reason included in the label. When the user selects a type or a mutual exclusion triggers, a live region announces the state change. The cognitive load rule engine ensures that no more than six expense types are shown on a single screen to prevent choice paralysis, with overflow handled via a 'More options' expansion.
User Story
Acceptance Criteria
- Given VoiceOver or TalkBack is active, when the expense type picker renders, then each card's accessibility label reads '[Type Name], [selected/not selected], [unavailable: reason if applicable]'
- Given the peer mentor navigates with VoiceOver swipe gestures, when focus moves between expense type cards, then focus order follows visual top-to-bottom, left-to-right order
- Given a mutual exclusion is triggered, when the state changes, then a live region announcement notifies the user without moving focus away from the current element
- Given the expense type cards are rendered, when measured, then each interactive element has a minimum touch target size of 44 × 44 dp
- Given the organisation has more than six expense types, when the picker renders, then only six types are shown initially with a clearly labelled 'Show more' control
- Given the contrast ratio of text against card background is measured, when tested, then all text-background combinations meet a minimum ratio of 4.5:1 for normal text and 3:1 for large text
Business Value
All three workshop organisations serve users with diverse accessibility needs — Blindeforbundet requires screen reader support, NHF serves users with cognitive and motor impairments including stroke survivors, and HLF users may have hearing-related co-conditions. Accessibility is listed as a MUST HAVE in Phase 1 for all organisations. Failing to meet WCAG 2.2 AA in the expense registration flow would exclude a significant portion of the user base from one of the highest-frequency features, directly undermining the app's core value proposition of lowering administrative burden.