medium complexity extracted Accessibility & Universal Design Confidence: 100%
2
Components
198
Shared
8
User Stories
Yes
Analyzed

Description

A design approach that minimises cognitive load for users with acquired brain injuries, intellectual disabilities, or limited digital literacy. This covers simplified navigation flows with a single clear action per screen, consistent layout patterns, plain-language labels, and avoidance of time pressure or complex multi-step interactions that cannot be paused and resumed. NHF explicitly calls out stroke survivors as a key user group. Concretely this means: no more than three primary choices per screen, persistent back navigation (no gesture-only dismissal), logical and predictable screen order through wizards, and inline contextual help rather than separate help sections. Error messages must describe what went wrong and how to fix it in plain Norwegian, never just an error code.

Analysis

Business Value

Cognitive accessibility directly determines whether NHF's most vulnerable peer mentor population can self-report activities. Under-reporting is the primary pain point identified across all workshops; reducing cognitive friction is the single highest-leverage intervention to improve data completeness.

Implementation Notes

Enforce a maximum wizard step count (≤5) and display a progress indicator. Use Flutter's NavigationBar with labelled icons — no icon-only buttons. Validate all copy with plain-language guidelines. Provide a 'confirm before submit' summary screen in the activity wizard. Never auto-advance between steps; always require explicit user confirmation.

Components (200)

Service Layer (1)

Infrastructure (1)

Shared Components

These components are reused across multiple features

User Interface (59)

ui Role Switch Widget medium Shared ui Role-Aware Bottom Navigation medium Shared ui Activity Type Selection Screen low Shared ui Speech-to-Text Field Overlay medium Shared ui Receipt Capture Widget medium Shared ui Peer Mentor Single Selector low Shared ui Proxy Audit Badge Widget low Shared ui Export Period Picker low Shared ui Contact Card Widget low Shared ui Contact Search Bar low Shared ui Peer Mentor Card Widget low Shared ui Activity History List low Shared ui Multi-Chapter Affiliation Chip Widget medium Shared ui Certification Status Badge low Shared ui Duplicate Activity Warning Dialog medium Shared ui Mentor Multi-Select Widget medium Shared ui Map Filter Panel medium Shared ui Claim Status Badge low Shared ui Export Date Range Picker low Shared ui Custom Date Range Picker low Shared ui Duplicate Activity Warning Dialog low Shared ui Proxy Activity Form medium Shared ui Proxy Peer Mentor Selector medium Shared ui Expected Return Date Picker low Shared ui Pause Activation Screen low Shared ui Pause Status Indicator low Shared ui Admin KPI Stat Widget low Shared ui Organisation Hierarchy Navigator high Shared ui Bufdir Period Selector Widget low Shared ui Export History List medium Shared ui Activity Type Donut Chart medium Shared ui Monthly Activity Bar Chart medium Shared ui Statistics Period Filter Bar low Shared ui Statistics Summary Cards low Shared ui Notification Badge Widget low Shared ui Certificate Expiry Status Indicator low Shared ui Animated Stat Card Widget medium Shared ui In-App Notification Banner low Shared ui Accessible Modal Sheet Widget high Shared ui Live Region Announcer medium Shared ui Semantics Wrapper Widget medium Shared ui Sensitive Field Warning Dialog high Shared ui Confirm Before Submit Screen medium Shared ui Inline Contextual Help Widget low Shared ui Labelled Navigation Bar low Shared ui Plain Language Error Display low Shared ui Single-Action Screen Layout medium Shared ui Wizard Progress Indicator low Shared ui Accessible Text Style System medium Shared ui Accessible Touch Target Wrapper low Shared ui Contrast-Safe Color Palette Widget medium Shared ui Accessible Bottom Navigation Bar medium Shared ui Modal Close Button low Shared ui Persistent Back Button low Shared ui Vertical Scroll Container low Shared ui Organization Card Widget low Shared ui Terminology-Aware Text Widget low Shared ui FeatureGate Widget low Shared ui Chapter Switcher medium Shared

Service Layer (52)

service Authentication Service medium Shared service Authentication Session Manager medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Permission Checker Service medium Shared service Role State Manager medium Shared service No-Access Route Guard low Shared service Activity Type Metadata Resolver low Shared service Chapter Scope Resolver medium Shared service Organisation Hierarchy Resolver medium Shared service Coordinator Notification Service medium Shared service Duplicate Activity Detection Service high Shared service Mentor Filter Service low Shared service Receipt Threshold Validator low Shared service Approval Status Notification Service medium Shared service Threshold Evaluation Service medium Shared service Declaration Encryption Service high Shared service Organization Feature Flag Service low Shared service Participant Deduplication Service high Shared service Reporting Period Service medium Shared service Activity Attribution Service low Shared service Proxy Duplicate Detection Service medium Shared service Pause Management Service medium Shared service Pause Notification Service medium Shared service Admin Export Service medium Shared service Admin Row-Level Security Guard high Shared service Organisation Hierarchy Service high Shared service User Management Service high Shared service Role Access Validator low Shared service Peer Mentor Stats Aggregator medium Shared service Push Notification Dispatcher medium Shared service Notification Preference Service low Shared service Scenario Deep-Link Router medium Shared service Scenario Notification Content Builder medium Shared service Badge Criteria Integration medium Shared service Activity Summary Aggregator low Shared service Focus Management Service medium Shared service Screen Reader Detection Service medium Shared service Sensitive Field Privacy Guard high Shared service Plain Language Content Service medium Shared service Wizard State Manager medium Shared service Tab State Manager medium Shared service Organization Route Guard medium Shared service Tenant Context Service high Shared service Label Key Resolver Service low Shared service Organization Labels Notifier medium Shared service FeatureFlagProvider (Riverpod) medium Shared service Access Scope Service high Shared service Hierarchy Aggregation Service high Shared service Hierarchy Service high Shared service Unit Assignment Service medium Shared

Data Layer (33)

Infrastructure (54)

infrastructure Keyboard-Aware Layout Utility low Shared infrastructure Supabase Auth Client low Shared infrastructure Deep Link / OAuth Redirect Handler medium Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase Session Manager medium Shared infrastructure URL Launcher Utility low Shared infrastructure Local Storage Adapter low Shared infrastructure Supabase Activity Client low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client low Shared infrastructure Organisation Field Config Loader medium Shared infrastructure Speech-to-Text Adapter medium Shared infrastructure File Download Handler low Shared infrastructure Duplicate Reviewed Flag Middleware low Shared infrastructure Contact RLS Query Builder low Shared infrastructure Contact Form Validator low Shared infrastructure Design Token Theme low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client Provider low Shared infrastructure Search Debounce Utility low Shared infrastructure Expense Type Analytics Tracker low Shared infrastructure Receipt Image Picker Integration low Shared infrastructure CSV / JSON File Generator medium Shared infrastructure Coordinator Role Guard low Shared infrastructure Nightly Job Scheduler medium Shared infrastructure Supabase RLS Policy Configuration high Shared infrastructure Export File Storage Adapter low Shared infrastructure Supabase Storage Adapter low Shared infrastructure Peer Mentor Pause Management Service medium Shared infrastructure Push Notification Service medium Shared infrastructure fl_chart Adapter medium Shared infrastructure Push Notification Service low Shared infrastructure FCM Push Notification Sender medium Shared infrastructure FCM Notification Dispatcher medium Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Supabase Realtime Subscription Service medium Shared infrastructure Organisation Data Isolation Guard low Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Deep Link Handler medium Shared infrastructure QR Code Generator low Shared infrastructure Share Sheet Bridge low Shared infrastructure Semantics Service Facade medium Shared infrastructure Accessibility Design Token Enforcer medium Shared infrastructure Accessible Theme Builder medium Shared infrastructure Navigation Route Configuration medium Shared infrastructure Accessibility Live Region Announcer low Shared infrastructure Feature Flag Provider low Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase RLS Tenant Scope Configurator medium Shared infrastructure Label Key Registry low Shared infrastructure Terminology Riverpod Providers low Shared infrastructure WCAG Semantics Label Resolver low Shared infrastructure Feature Flag Key Constants low Shared infrastructure RLS Policy Manager high Shared

User Stories (8)

Cognitive Accessibility Audit for Continuous Compliance
medium 8 pts

As a As a Peer Mentor (Likeperson)

I want all screens I use to consistently meet cognitive accessibility standards

So that I can trust the app to remain usable as updates are released, without experiencing sudden confusing changes

Acceptance Criteria
  • Given a new screen is added to the app, When the CI pipeline runs, Then the cognitive accessibility audit checks that the screen has a visible title, labelled navigation, and no step with more than 3 inputs
  • Given the audit detects a violation, When the build completes, Then the CI output includes the screen name, the violated rule, and a suggested fix in plain language
  • Given the audit passes, When a release is deployed, Then the cognitive load rule engine reports confirm all active wizard flows comply with the step-complexity limit
  • +3 more
View Full Story →
Confirm Before Submit Screen to Prevent Accidental Actions
high 3 pts

As a As a Peer Mentor (Likeperson)

I want to see a clear confirmation screen before any irreversible action is submitted

So that I can review my input and avoid mistakes caused by accidental taps or misunderstanding

Acceptance Criteria
  • Given I have completed all steps of the activity wizard, When I tap 'Next' on the final data entry step, Then a confirmation screen appears showing a human-readable summary of all my inputs before any data is sent
  • Given the confirmation screen is shown, When I review it, Then each piece of information is labelled in plain language matching the labels I saw during entry
  • Given the confirmation screen is displayed, When I spot a mistake, Then I can tap 'Edit' to return to the relevant step with my data preserved
  • +3 more
View Full Story →
Single-Action Screen Layout for High-Stakes Decisions
high 3 pts

As a As a Peer Mentor (Likeperson)

I want screens that require an important decision to show only that decision with no distracting elements

So that I can focus on what matters and make the right choice without being confused by competing actions

Acceptance Criteria
  • Given I reach a confirmation screen for an irreversible action (submit report, send declaration), When the screen renders, Then the bottom navigation bar is hidden and only the confirmation content and two buttons are visible
  • Given the single-action screen is displayed, When I look at the two action buttons, Then they are visually distinct (primary action prominent, secondary action clearly secondary) and labelled in plain language
  • Given the single-action layout is active, When I use a screen reader, Then focus is directed to the heading first, then the content summary, then the action buttons in order
  • +3 more
View Full Story →
Inline Contextual Help Without Leaving the Screen
high 5 pts

As a As a Peer Mentor (Likeperson)

I want to access short, clear explanations for any field or action directly on the current screen

So that I understand what is being asked of me without having to navigate away or contact a coordinator

Acceptance Criteria
  • Given I am filling out a form field I do not understand, When I tap the help icon next to that field, Then a short explanation (max 2 sentences) appears inline without navigating away from the screen
  • Given the help panel is open, When I read the explanation, Then it uses plain language and avoids abbreviations or technical terms
  • Given the organisation has custom terminology configured, When the help text for a field is displayed, Then it uses the organisation-specific label (e.g., 'frivillig' instead of 'likeperson' if configured)
  • +3 more
View Full Story →
Auto-Save Draft to Prevent Data Loss During Registration
high 5 pts

As a As a Peer Mentor (Likeperson)

I want the app to automatically save my activity registration as I fill it out

So that I can return to a partially completed registration if I am interrupted without having to start over

Acceptance Criteria
  • Given I have completed step 1 of the activity wizard, When the step is saved and I move to step 2, Then a brief 'Draft saved' message appears confirming my data is stored
  • Given I have a partially completed draft and I close the app, When I reopen the app and navigate to activity registration, Then I am prompted with 'You have an unfinished registration. Continue where you left off?' with options to continue or start fresh
  • Given I choose to continue a draft, When the wizard restores, Then all previously entered fields are populated exactly as I left them
  • +3 more
View Full Story →
Plain Language Error Messages with Actionable Guidance
critical 5 pts

As a As a Peer Mentor (Likeperson)

I want to receive error messages written in plain, simple language that tell me exactly what went wrong and how to fix it

So that I can recover from mistakes without needing technical knowledge or external help

Acceptance Criteria
  • Given I submit a form with a missing required field, When the error appears, Then the message names the specific field in plain language (e.g., 'Please enter the date of the activity') rather than a generic 'Validation error'
  • Given a network error occurs during submission, When the error is displayed, Then the message explains in simple terms what to do next (e.g., 'Your internet connection dropped. Please check your connection and tap Try Again')
  • Given any error message is shown, When I read it, Then it contains no technical codes, HTTP status numbers, or developer terminology
  • +3 more
View Full Story →
Consistently Labelled Navigation Bar with Persistent Back Button
critical 5 pts

As a As a Peer Mentor (Likeperson)

I want to always see a clearly labelled navigation bar and a visible back button on every screen

So that I never feel lost in the app and can confidently move backwards without losing my progress

Acceptance Criteria
  • Given I am on any screen in the app that is not the root home screen, When I look at the top of the screen, Then a back button is visible and tappable — I do not need to swipe to go back
  • Given I am on a screen inside a flow (wizard step, detail screen), When I tap the back button, Then I am taken to the previous screen with all my entered data preserved
  • Given I look at the bottom navigation bar, When I am on any main section, Then the active tab is visually highlighted and labelled with text (not icon only)
  • +3 more
View Full Story →
Step-by-Step Activity Wizard with Progress Indicator
critical 8 pts

As a As a Peer Mentor (Likeperson)

I want to register an activity through a clear step-by-step wizard that shows me exactly where I am in the process

So that I can complete registration without feeling overwhelmed, even if I have cognitive challenges or limited digital experience

Acceptance Criteria
  • Given I open the activity registration flow, When the wizard starts, Then I see a progress bar or step counter showing my current position (e.g., 'Step 1 of 4') at the top of the screen
  • Given I am on any step of the wizard, When I look at the screen, Then only the fields relevant to that single step are visible — no other inputs are shown
  • Given I tap the back button on step 2 or later, When the previous screen appears, Then all data I entered in prior steps is preserved
  • +3 more
View Full Story →