Clear Access Denial Feedback When Navigating to Restricted Area
When a peer mentor navigates to a route that requires coordinator or admin privileges, the app must intercept the navigation via the no-access route guard and display the no-access screen widget rather than a blank screen or crash. The screen should display a clear headline, a brief explanation of why access is denied for this specific area, and use the organization's custom terminology where applicable. The no-access screen must meet WCAG 2.2 AA contrast and semantics requirements so screen-reader users also receive the denial message correctly.
User Story
Acceptance Criteria
- Given a peer mentor is authenticated and navigates to a coordinator-only route, when the role route guard evaluates permissions, then the no-access screen is displayed instead of the target route
- Given the no-access screen is displayed, when the peer mentor views the screen, then a headline such as 'Access Restricted' and a plain-language explanation of the restriction is visible
- Given the app uses organization-specific terminology, when the no-access screen renders, then labels are resolved through the organization labels provider so wording matches the org's configured terminology
- Given a screen-reader user lands on the no-access screen, when VoiceOver or TalkBack reads the page, then the denial message and all interactive elements are announced correctly with appropriate semantics
- Given the no-access screen is shown, when the peer mentor checks the bottom navigation, then navigation tabs that are inaccessible to their role are visually indicated as inactive or hidden
Business Value
Without a clear no-access screen, restricted users experience confusion, perceived app crashes, or silent failures that erode trust in the platform. A well-designed denial screen protects the product's credibility, reduces support tickets, and ensures security boundaries are communicated transparently — critical for volunteer organizations where diverse digital literacy levels mean users must never be left wondering what went wrong.
Components
- No-Access Screen ui
- No-Access Screen ui
- Access Denial Service service
- No-Access Route Guard service
- No-Access Configuration Repository data
- Permission Checker Service service
- Role-Based Route Guard infrastructure
- Organization Labels Provider infrastructure
- Semantics Wrapper Widget ui