Deucalion Docs
ReferenceAn information-oriented lookup resource. Use it to find specific values and definitions.
adminengineeraccessibilityscreen-readermobileadmin

Accessibility Screen Reader Matrix

Manual VoiceOver and TalkBack coverage for the highest-risk Deucalion admin and mobile workflows.

Accessibility screen reader matrix

Run this manual pass on real devices when a change touches navigation, focus order, dialogs, forms, search, inspection workflows, or mobile touch targets. Automated checks still run first; this matrix catches spoken-label quality, rotor order, gesture ergonomics, and field-work edge cases that axe cannot see.

Manual test setup

  • VoiceOver: current supported iPhone on iOS, with Dynamic Type at default and one larger setting.
  • TalkBack: current supported Android handset, with display size and font size at default and one larger setting.
  • Network states: online for admin flows, then online and offline/sync-recovery for mobile field flows.
  • Pass rule: every actionable control has a useful name, role, state, and gesture path; focus order follows the visual workflow; announcements confirm destructive or irreversible changes.

Critical flows

#SurfaceFlowVoiceOver coverageTalkBack coveragePass criteria
1AdminSign in, recover from invalid credentials, reach dashboardKeyboard plus VoiceOver rotor through form, error, submitChrome/Android keyboard plus TalkBack through form, error, submitError text is announced once, submit state is clear, dashboard landmark is reached
2AdminDashboard KPI cards to overdue inspectionsNavigate cards, open overdue list, returnNavigate cards, open overdue list, returnCards expose labels and values without duplicating decorative text
3AdminSites list search, filter, open siteSearch field, filters, table rows, paginationSearch field, filters, table rows, paginationSearch/filter state is announced and row actions remain reachable
4AdminSite detail systems/assets tabsTab list, asset row actions, nested linksTab list, asset row actions, nested linksSelected tab state is spoken and row actions do not trap focus
5AdminScheduling planner create/reassign inspectionPlanner filters, create dialog, assignee controlPlanner filters, create dialog, assignee controlDialog title is announced, validation errors map to fields, focus returns to launcher
6AdminInspection create/edit formRequired fields, date/month fields, save/cancelRequired fields, date/month fields, save/cancelForm labels and descriptions are not lost at zoom or contrast settings
7AdminInspection activity feed and commentsFeed navigation, add comment, mention indicatorFeed navigation, add comment, mention indicatorFeed events are read in chronological context and new comment confirmation is clear
8AdminDefect triage, assign, resolveTable row menu, status update, resolution dialogTable row menu, status update, resolution dialogDestructive or status-changing actions include explicit confirmation text
9AdminQuotes, work orders, and quick-create actionsGlobal search command, quick-create, conversion actionGlobal search command, quick-create, conversion actionCommand labels identify destination and recent actions are not ambiguous
10AdminReport writer, preview, exportTemplate picker, preview controls, export statusTemplate picker, preview controls, export statusPreview/export controls expose busy and completion states
11MobileSign in, offline banner, sync statusVoiceOver through auth, offline notice, retryTalkBack through auth, offline notice, retryOffline state is announced before blocked actions and retry has a clear label
12MobileDashboard to next scheduled jobJob card, due/overdue status, route to detailJob card, due/overdue status, route to detailJob urgency is spoken with the site/inspection label
13MobileSites list and global searchSearch, filter, open site, clear querySearch, filter, open site, clear queryQuery state and empty results are announced without dead ends
14MobileSite detail systems and asset selectionTabs/sections, asset cards, QR entry pointsTabs/sections, asset cards, QR entry pointsAsset identity and status are available before opening actions
15MobileInspection checklist result entrySection tabs, result buttons, notes, saveSection tabs, result buttons, notes, saveResult state changes are announced and target size supports one-handed field use
16MobileDefect creation with photo and voice noteAdd defect, camera, voice input, validationAdd defect, camera, voice input, validationCapture controls have labels and permission errors are announced
17MobilePhoto gallery and annotationGallery item, annotate, save/cancelGallery item, annotate, save/cancelImage actions have labels and annotation save/cancel order is predictable
18MobileVisit notes, signature, certificate handoffNotes editor, signature canvas, certificate viewNotes editor, signature canvas, certificate viewNon-text signing areas provide instructions and fallback navigation
19MobileDraft sync and conflict resolutionDraft list, conflict modal, choose local/remoteDraft list, conflict modal, choose local/remoteConflict choices include consequence text before selection
20MobileSettings, profile, help, subscriptionAccount rows, help links, subscription controlsAccount rows, help links, subscription controlsAccount and billing actions expose state, destination, and confirmation

Release notes

  • Record the device, OS version, screen reader, and any failed flow before closing the accessibility issue.
  • If a row cannot be completed because of backend or account setup, capture the blocker and rerun only that row once setup is available.
  • Pair this manual matrix with npm run test:admin-accessibility, npm run check:admin-contrast, npm run check:admin-z-index, and npm run check:mobile-touch-targets.

On this page