Navigation Accessibility Service
API Contract
REST
/api/v1/navigation-accessibility
7 endpoints
GET
/api/v1/navigation-accessibility/api/v1/navigation-accessibility
List all registered modal routes and their accessibility status
Public
Response Example
{
"data": [
{
"id": "nav-acc-001",
"route_name": "SettingsModal",
"has_close_button": true,
"has_dismissal_mechanism": true,
"registered_at": "2026-03-20T10:00:00Z"
},
{
"id": "nav-acc-002",
"route_name": "FilterDrawer",
"has_close_button": false,
"has_dismissal_mechanism": true,
"registered_at": "2026-03-21T11:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/navigation-accessibility/api/v1/navigation-accessibility/:id
Audit a single route for dismissal mechanism compliance
Public
Response Example
{
"id": "nav-acc-001",
"route_name": "SettingsModal",
"has_close_button": true,
"has_dismissal_mechanism": true,
"audit_result": {
"compliant": true,
"issues": [],
"checked_at": "2026-03-26T09:00:00Z"
}
}
POST
/api/v1/navigation-accessibility/api/v1/navigation-accessibility
Register a modal route with accessibility metadata (registerModalRoute)
Public
Request Example
{
"route_name": "OnboardingModal",
"has_close_button": true
}
Response Example
{
"id": "nav-acc-003",
"route_name": "OnboardingModal",
"has_close_button": true,
"has_dismissal_mechanism": true,
"registered_at": "2026-03-26T09:05:00Z"
}
PUT
/api/v1/navigation-accessibility/api/v1/navigation-accessibility/:id
Update accessibility settings for a registered modal route
Public
Request Example
{
"has_close_button": false,
"has_dismissal_mechanism": true
}
Response Example
{
"id": "nav-acc-003",
"route_name": "OnboardingModal",
"has_close_button": false,
"has_dismissal_mechanism": true,
"registered_at": "2026-03-26T09:05:00Z",
"updated_at": "2026-03-26T09:30:00Z"
}
DELETE
/api/v1/navigation-accessibility/api/v1/navigation-accessibility/:id
Deregister a modal route from accessibility tracking
Public
Response Example
{
"deleted": true,
"id": "nav-acc-003"
}
POST
/api/v1/navigation-accessibility/api/v1/navigation-accessibility/audit-all
Run compliance audit across all registered routes (auditAllRoutes)
Public
Request Example
{
"route_tree": {
"root": "AppNavigator",
"modals": [
"SettingsModal",
"FilterDrawer",
"OnboardingModal"
]
}
}
Response Example
{
"audited_count": 3,
"compliant_count": 2,
"non_compliant_count": 1,
"issues": [
{
"route_name": "FilterDrawer",
"issue": "No hardware back button handler registered"
}
],
"audited_at": "2026-03-26T09:10:00Z"
}
GET
/api/v1/navigation-accessibility/api/v1/navigation-accessibility/compliance-report
Get full accessibility compliance report (getComplianceReport)
Public
Response Example
{
"generated_at": "2026-03-26T09:15:00Z",
"total_routes": 3,
"compliant": 2,
"non_compliant": 1,
"compliance_rate": 66.7,
"details": [
{
"route_name": "SettingsModal",
"compliant": true,
"issues": []
},
{
"route_name": "FilterDrawer",
"compliant": false,
"issues": [
"No hardware back button handler"
]
},
{
"route_name": "OnboardingModal",
"compliant": true,
"issues": []
}
]
}