Accessibility Conformance Report
VPAT 2.5Rev (WCAG edition) · Report date: October 30, 2026
Product information
- Products
- NIMS Logic web application: Release deployed 2026-10-29 (build ef779afd). NIMS Logic mobile application for Android: Version 1.1.2 (build 29), Google Play.
- Standard evaluated
- WCAG 2.1 Level A and Level AA
- Evaluated by
- NIMS Logic (self-assessment). No third-party audit has been conducted.
- Contact
- Justin Wilkerson, Chief Technology Officer, Justin.Wilkerson@nimslogic.com
- Not in scope
- The iOS build of the mobile application, documents exported from the product (PDF), and the dark and day-night themes of the web application. The web application was evaluated in its default light theme.
Evaluation methods used
- Keyboard-only operation: each journey was driven from page load to its end state with key presses only and no pointer events, and each tab stop was recorded. A journey that needed the pointer at any step is reported as a failure of 2.1.1 at that step.
- Assistive-technology semantics: accessible names, roles, states, headings, landmarks, live regions and dialog labelling were read from the browser accessibility tree (web) and the Android accessibility node tree (mobile).
- Contrast was computed from rendered foreground and background colours (web, light theme) and from sampled screenshots (mobile, dark theme).
- Reflow was checked in a 320 CSS pixel viewport. Text spacing was checked by applying the WCAG 1.4.12 values. The page title, focus order, focus visibility and any overlay or alternate interface were also checked.
- Source code was read where the running product could not show a behaviour, for example a dialog unreachable because of plan state. Each such remark says so.
Journeys walked
- W1 Sign in: Front door, work email, Workforce redirect and the one-time-code screen, completed with the keyboard only.
- W2 Incident map: Dashboard to an incident, the Map tab, pan and zoom, layers, and reaching a map feature’s details.
- W3 Tactical and planning boards: The Operations Board, the IAP Operations planning board and its assignment actions menu, and the assignment binder.
- W4 ICS forms: Creating an ICS 214 activity log entry (every field, validation and cancel), the ICS 202 objective editor, and the rendered ICS 202 and ICS 204 forms.
- W5 Breadth: The navigation drawer, the user menu, the Resource Status Board, the Finance act queue and the file explorer.
- M1–M3 Mobile: The home screen and navigation drawer, a field status report (every field, without submitting), and the map, using a hardware keyboard and the Android accessibility tree.
Terms
- Supports: the functionality of the product has at least one method that meets the criterion without known defects, or meets it with equivalent facilitation.
- Partially Supports: some functionality of the product does not meet the criterion.
- Does Not Support: the majority of product functionality does not meet the criterion.
- Not Applicable: the criterion is not relevant to the product.
WCAG 2.1 report
| Criteria | Conformance level (web) | Remarks (web) | Conformance level (mobile) | Remarks (mobile) |
|---|---|---|---|---|
| 1.1.1 Non-text Content (Level A) | Partially Supports | Images carry text alternatives. Some icon-only buttons have no accessible name: objective expand toggles, row action menus, and drawer close, copy and QR buttons. The map is exposed as a labelled region, but individual map features have no text alternative. Remediation tracked in AB#4140 and AB#4139. | Supports | Icon controls and map controls carry accessibility labels. |
| 1.2.1 Audio-only and Video-only (Prerecorded) (Level A) | Not Applicable | The product contains no prerecorded audio or video. | Not Applicable | The product contains no prerecorded audio or video. |
| 1.2.2 Captions (Prerecorded) (Level A) | Not Applicable | No prerecorded synchronized media. | Not Applicable | No prerecorded synchronized media. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) | Not Applicable | No prerecorded synchronized media. | Not Applicable | No prerecorded synchronized media. |
| 1.3.1 Info and Relationships (Level A) | Partially Supports | Landmarks (header, main, navigation) are present. Defects: - Most pages have no h1, and dashboard card titles use h6 throughout. - The ICS 214 Activity Type and Operational Period selects are not programmatically labelled. - ICS 202 editor captions are not associated with their fields. - Rendered ICS forms convey label and value relationships visually only. Remediation tracked in AB#4141, AB#4142 and AB#4144. | Partially Supports | Controls expose roles and names. When the navigation drawer or a bottom sheet is open, the content behind it is not hidden from accessibility services. Remediation tracked in AB#4145. |
| 1.3.2 Meaningful Sequence (Level A) | Supports | DOM order matches the visual reading order on the evaluated pages. | Supports | Accessibility order follows the visual layout. |
| 1.3.3 Sensory Characteristics (Level A) | Supports | Instructions do not rely on shape, position or sound alone. | Supports | Instructions do not rely on shape, position or sound alone. |
| 1.4.1 Use of Color (Level A) | Supports | Status chips and severity indicators carry text labels as well as colour. | Supports | Status indicators are paired with text. |
| 1.4.2 Audio Control (Level A) | Not Applicable | No audio plays automatically. | Not Applicable | No audio plays automatically. |
| 2.1.1 Keyboard (Level A) | Supports | All functions are keyboard operable: sign-in, tabs, menus, dialogs, the planning-board action menus, the ICS 214 form, and map pan, zoom and layers. The functions the evaluation found pointer-only now have keyboard paths (AB#4139): - Each Division or Group card on the Operations Board is a button that opens its details. - Map features are listed in a keyboard feature list, and the map Tools panel header is a button. - File-explorer folders open and expand from the keyboard. | Supports | With a hardware keyboard, all functions are operable. The evaluation found focus lost after the bottom tab bar, and the navigation drawer items and map controls unreachable. These are fixed (AB#4145): the closed drawer leaves the Tab order, the open drawer and report sheets hold focus and return it on close, and all six map controls are Tab stops. |
| 2.1.2 No Keyboard Trap (Level A) | Supports | Focus can leave the map, dialogs (Escape) and menus. | Supports | No trap was found. Lost focus (see 2.4.3) is recoverable with Shift+Tab. Remediation tracked in AB#4145. |
| 2.1.4 Character Key Shortcuts (Level A) | Partially Supports | While map coordinates are displayed, a bare "C" key copies them from anywhere outside a text field, and this cannot be turned off or remapped. Other shortcuts require a modifier. Remediation tracked in AB#4139. | Not Applicable | No single-character shortcuts. |
| 2.2.1 Timing Adjustable (Level A) | Supports | The session warns five minutes before it expires and offers an extend control. | Supports | No time limits on user input. |
| 2.2.2 Pause, Stop, Hide (Level A) | Partially Supports | The sign-in page rotates a tip every six seconds with no pause control. The rotation stops only under the operating system reduced-motion setting. Remediation tracked in AB#4142. | Supports | No auto-advancing content was found. |
| 2.3.1 Three Flashes or Below Threshold (Level A) | Supports | No flashing content. | Supports | No flashing content. |
| 2.4.1 Bypass Blocks (Level A) | Partially Supports | Header and main landmarks are present, but there is no skip link: 18 tab stops precede the dashboard content. Remediation tracked in AB#4142. | Not Applicable | Applied per WCAG2ICT: screens are not sets of web pages with repeated blocks. |
| 2.4.2 Page Titled (Level A) | Does Not Support | Every route carries the same document title, "NIMS Logic". Remediation tracked in AB#4142. | Supports | Each screen exposes its title in the header. |
| 2.4.3 Focus Order (Level A) | Partially Supports | Tab order is logical, and dialogs take focus and return it on Escape. These leave focus on the page body: - Route changes. - Closing the Division drawer. - Two sign-in step changes. Remediation tracked in AB#4142. | Partially Supports | Opening the navigation drawer or a report sheet does not move focus into it, and keyboard focus is lost after the bottom tab bar. Remediation tracked in AB#4145. |
| 2.4.4 Link Purpose (In Context) (Level A) | Supports | Links carry descriptive names. | Supports | Links and navigation items carry descriptive names. |
| 2.5.1 Pointer Gestures (Level A) | Supports | Map zoom and pan have single-pointer button alternatives. | Partially Supports | Map zoom-out relies on a pinch or two-finger tap. Centre-on-me and centre-on-incident buttons are provided, but no zoom buttons. |
| 2.5.2 Pointer Cancellation (Level A) | Supports | Controls activate on the up-event. | Supports | Controls activate on release. |
| 2.5.3 Label in Name (Level A) | Supports | Visible labels are contained in accessible names. | Supports | Visible labels are contained in accessibility labels. |
| 2.5.4 Motion Actuation (Level A) | Not Applicable | No function is operated by device motion. | Not Applicable | No function is operated by device motion. |
| 3.1.1 Language of Page (Level A) | Supports | The page language is declared (lang="en"). | Supports | The app language follows the device locale. |
| 3.2.1 On Focus (Level A) | Supports | Focus does not trigger a change of context. | Supports | Focus does not trigger a change of context. |
| 3.2.2 On Input (Level A) | Supports | Context changes only on explicit activation. | Supports | Context changes only on explicit activation. |
| 3.3.1 Error Identification (Level A) | Partially Supports | Errors are described in text, but field errors are not programmatically associated with the field or announced. Remediation tracked in AB#4141. | Supports | Report forms list the missing items in a labelled "Still needed" summary. |
| 3.3.2 Labels or Instructions (Level A) | Partially Supports | Most fields are labelled. Search fields rely on placeholder text, and the selects named in 1.3.1 are unlabelled. Remediation tracked in AB#4141. | Supports | Fields carry labels and required markers. |
| 4.1.1 Parsing (Level A) | Supports | Per the WCAG 2.1 errata, this criterion is always satisfied for HTML. | Not Applicable | Not applicable to native applications (WCAG2ICT). |
| 4.1.2 Name, Role, Value (Level A) | Partially Supports | Unnamed icon buttons, an unnamed Division drawer dialog and unlabelled selects are present on the evaluated journeys. Standard controls expose role, state and value. Remediation tracked in AB#4140 and AB#4141. | Partially Supports | Controls expose names and selected state. A report sheet's backdrop is exposed as an unnamed button. Remediation tracked in AB#4145. |
| Criteria | Conformance level (web) | Remarks (web) | Conformance level (mobile) | Remarks (mobile) |
|---|---|---|---|---|
| 1.2.4 Captions (Live) (Level AA) | Not Applicable | No live synchronized media. | Not Applicable | No live synchronized media. |
| 1.2.5 Audio Description (Prerecorded) (Level AA) | Not Applicable | No prerecorded video. | Not Applicable | No prerecorded video. |
| 1.3.4 Orientation (Level AA) | Supports | Content is not restricted to one orientation. | Supports | The Android app follows the device orientation. |
| 1.3.5 Identify Input Purpose (Level AA) | Supports | The sign-in email field declares its autocomplete purpose. | Supports | The sign-in email field declares its content type. |
| 1.4.3 Contrast (Minimum) (Level AA) | Partially Supports | Body text meets 4.5:1, but small labels fall below it. On sign-in, two badges measure 2.05:1 and the code label 3.19:1. Dashboard and Operations Board chips and counts measure 1.77:1 to 4.42:1. Remediation tracked in AB#4143. | Partially Supports | Secondary text on dark surfaces measures 3.08:1 to 3.73:1, for example the incident number and period metadata. Remediation tracked in AB#4143. |
| 1.4.4 Resize text (Level AA) | Supports | Content remains usable in a 320 CSS pixel viewport, the equivalent of 400% zoom (see 1.4.10). | Supports | Text follows the system font scale; three small badges cap their scale. Verified in source; not exercised at 200% on the device. |
| 1.4.5 Images of Text (Level AA) | Supports | Text is rendered as text. | Supports | Text is rendered as text. |
| 1.4.10 Reflow (Level AA) | Partially Supports | At 320 CSS pixels, the dashboard, incident pages, IAP overview and planning board reflow without horizontal scrolling. The rendered ICS 202 places its time fields off-screen. Remediation tracked in AB#4144. | Supports | Layouts are single-column at phone width. |
| 1.4.11 Non-text Contrast (Level AA) | Partially Supports | Focus indication on incident tabs, view toggles and form chips is a faint tint below 3:1. Remediation tracked in AB#4142. | Partially Supports | The keyboard focus indication on report tiles is a faint tint below 3:1. Remediation tracked in AB#4145. |
| 1.4.12 Text Spacing (Level AA) | Partially Supports | With WCAG text spacing applied, one additional item per page is clipped on the dashboard and planning board. Remediation tracked in AB#4144. | Not Applicable | Native application with no mechanism for user style overrides (WCAG2ICT). |
| 1.4.13 Content on Hover or Focus (Level AA) | Supports | Tooltips are dismissible, hoverable and persistent. | Not Applicable | No hover content. |
| 2.4.5 Multiple Ways (Level AA) | Supports | The navigation drawer, breadcrumbs, incident lists and the command palette all reach pages. | Not Applicable | Applied per WCAG2ICT to a single application. |
| 2.4.6 Headings and Labels (Level AA) | Partially Supports | Labels are descriptive, but heading structure is flat and some selects are unlabelled (see 1.3.1). Remediation tracked in AB#4141 and AB#4142. | Supports | Section headings and labels are descriptive. |
| 2.4.7 Focus Visible (Level AA) | Partially Supports | Most controls show a clear focus ring. Incident tabs, IAP view toggles and form chips show only a faint tint. Remediation tracked in AB#4142. | Does Not Support | A keyboard-focused control shows only a faint background tint. Remediation tracked in AB#4145. |
| 3.1.2 Language of Parts (Level AA) | Supports | Content is in one language. | Supports | Content is in one language. |
| 3.2.3 Consistent Navigation (Level AA) | Supports | The header, drawer and tabs are consistent across pages. | Supports | The header, drawer and tab bar are consistent across screens. |
| 3.2.4 Consistent Identification (Level AA) | Supports | Repeated functions are identified consistently. | Supports | Repeated functions are identified consistently. |
| 3.3.3 Error Suggestion (Level AA) | Supports | Error text states the correction, for example "End time must be after start time". | Supports | Missing items are named in the form summary. |
| 3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Supports | Consequential actions require confirmation, and records can be reviewed before submission. | Supports | Reports are reviewed in a sheet before submission. |
| 4.1.3 Status Messages (Level AA) | Partially Supports | Sign-in status uses live regions. Form validation messages are not announced. Remediation tracked in AB#4141. | Partially Supports | The sync status is exposed on its control. Report-form status changes are not announced to assistive technology. Remediation tracked in AB#4145. |
Level AAA criteria were not evaluated. Dated remediation for every criterion not fully supported is published in the Accessibility Statement.
Legal disclaimer
This report describes the accessibility of the product versions named above as evaluated on the report date. It is provided for information and reflects a self-assessment by NIMS Logic. “Voluntary Product Accessibility Template” and “VPAT” are registered service marks of the Information Technology Industry Council (ITI).