Skip to content

Latest commit

 

History

History
143 lines (115 loc) · 13.9 KB

File metadata and controls

143 lines (115 loc) · 13.9 KB

Voluntary Product Accessibility Template (VPAT) 2.5

O.D.I.N. Accessibility Conformance Report

Product: O.D.I.N. (Orchestrated Dispatch & Inventory Network) Version: 1.3.27 Vendor: Sublab 3DP Contact: sublab3dp@gmail.com Date: February 2026 Report Format: VPAT 2.5 (Revised Section 508 Edition)

Applicable Standards/Guidelines

This report covers conformance with:

  • Web Content Accessibility Guidelines (WCAG) 2.1 — Level AA
  • Revised Section 508 (36 CFR 1194) — applicable to education and government procurement

Terms

Term Definition
Supports The functionality of the product has at least one method that meets the criterion without known defects or meets 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.
Not Evaluated The product has not been evaluated against the criterion.

Evaluation Methods

  • Manual keyboard navigation testing
  • Visual inspection of color contrast ratios
  • Screen reader testing (partial — VoiceOver on macOS)
  • Browser developer tools accessibility audit (Chrome Lighthouse)
  • Manual review of ARIA landmarks and roles

WCAG 2.1 Level A Criteria

Criteria Conformance Level Remarks and Explanations
1.1.1 Non-text Content Partially Supports Icons use Lucide React with aria-labels. Printer status indicators and dashboard icons have text alternatives. Some chart visualizations (Recharts) may lack comprehensive text alternatives for all data points. Camera feed frames do not have text descriptions.
1.2.1 Audio-only and Video-only (Prerecorded) Not Applicable O.D.I.N. does not include prerecorded audio-only or video-only content. Camera feeds are live streams, not prerecorded.
1.2.2 Captions (Prerecorded) Not Applicable O.D.I.N. does not include prerecorded multimedia content.
1.2.3 Audio Description or Media Alternative (Prerecorded) Not Applicable No prerecorded multimedia content.
1.3.1 Info and Relationships Partially Supports HTML5 semantic elements are used for page structure. Data tables use proper table markup. Some dynamic content areas generated by React may not fully convey structural relationships to assistive technologies.
1.3.2 Meaningful Sequence Supports Content is presented in a logical reading order. The DOM structure follows visual layout order.
1.3.3 Sensory Characteristics Partially Supports Instructions generally do not rely solely on sensory characteristics. Some printer status information is conveyed through color alone (see 1.4.1).
1.4.1 Use of Color Partially Supports Printer status (online/offline/error) uses color-coded indicators. Status text labels accompany most color indicators, but some compact dashboard views may rely on color alone.
1.4.2 Audio Control Not Applicable O.D.I.N. does not auto-play audio.
2.1.1 Keyboard Partially Supports Most interactive elements (buttons, links, form controls) are keyboard accessible. Some modal dialogs may not properly trap focus. Dropdown menus and context menus may not be fully navigable via keyboard.
2.1.2 No Keyboard Trap Partially Supports Generally no keyboard traps exist. Some modal dialogs may not release focus properly on close, requiring the user to use a mouse click to exit.
2.1.4 Character Key Shortcuts Not Applicable O.D.I.N. does not implement single character key shortcuts.
2.2.1 Timing Adjustable Supports JWT session timeout (24 hours) is sufficiently long. WebSocket reconnection is automatic. No time-limited user interactions.
2.2.2 Pause, Stop, Hide Partially Supports Real-time printer telemetry updates automatically. Users cannot pause the auto-updating dashboard content. Camera feeds stream continuously when viewed.
2.3.1 Three Flashes or Below Threshold Supports No content flashes more than three times per second.
2.4.1 Bypass Blocks Partially Supports A skip-to-content link is present. The sidebar navigation is consistent across pages. Some pages with lengthy content may lack in-page skip links.
2.4.2 Page Titled Supports Each page has a descriptive title reflecting its content (e.g., "Dashboard", "Printers", "Job Queue").
2.4.3 Focus Order Partially Supports Focus order generally follows visual layout. Some dynamically rendered content (modals, toast notifications) may not receive focus in the expected order.
2.4.4 Link Purpose (In Context) Supports Links and buttons have descriptive text or aria-labels that convey their purpose in context.
2.5.1 Pointer Gestures Supports All functionality operable through pointer uses simple single-pointer actions (click/tap). No multi-point or path-based gestures are required.
2.5.2 Pointer Cancellation Supports Actions are triggered on the up-event (click release). Drag-and-drop is not used for critical operations.
2.5.3 Label in Name Supports Visible labels match accessible names for form controls and buttons.
2.5.4 Motion Actuation Not Applicable O.D.I.N. does not use device motion for input.
3.1.1 Language of Page Supports The HTML lang attribute is set to "en".
3.2.1 On Focus Supports Focusing on an element does not trigger unexpected changes of context.
3.2.2 On Input Supports Changing form input values does not automatically submit forms or trigger unexpected navigation. Filter controls update content in place as expected.
3.3.1 Error Identification Partially Supports Form validation errors are displayed visually near the relevant fields. Some error messages may not be programmatically associated with their form controls via aria-describedby.
3.3.2 Labels or Instructions Supports Form fields have visible labels. Required fields are indicated. Placeholder text supplements but does not replace labels.
4.1.1 Parsing Supports React generates well-formed HTML. No duplicate IDs in static content. (Note: WCAG 2.2 has removed this criterion as always satisfied by modern browsers.)
4.1.2 Name, Role, Value Partially Supports Standard HTML form controls expose correct roles and values. Custom components (status badges, toggle switches, dropdown menus) may not consistently expose correct ARIA roles and states.

WCAG 2.1 Level AA Criteria

Criteria Conformance Level Remarks and Explanations
1.2.4 Captions (Live) Not Applicable O.D.I.N. does not include live audio content. Camera feeds are video-only.
1.2.5 Audio Description (Prerecorded) Not Applicable No prerecorded multimedia content.
1.3.4 Orientation Supports Content is not restricted to a single display orientation. The responsive layout adapts to both portrait and landscape.
1.3.5 Identify Input Purpose Partially Supports Login form fields (username, password) use appropriate autocomplete attributes. Other forms (printer configuration, job submission) may not consistently use autocomplete or input purpose attributes.
1.4.3 Contrast (Minimum) Partially Supports The dark theme provides generally good contrast for primary text and UI elements. Some status indicators (colored badges, progress bars) may not meet the 4.5:1 contrast ratio against the dark background. Secondary text in some areas may fall below the minimum contrast ratio.
1.4.4 Resize Text Supports Text can be resized up to 200% using browser zoom without loss of content or functionality. The responsive layout adjusts appropriately.
1.4.5 Images of Text Supports O.D.I.N. uses rendered text throughout. No images of text are used except in the application logo.
1.4.10 Reflow Partially Supports Content reflows at 320px viewport width for most pages. Some data-heavy tables (printer list, job queue, analytics) may require horizontal scrolling at narrow widths.
1.4.11 Non-text Contrast Partially Supports Most UI components (buttons, form controls, icons) meet the 3:1 contrast ratio. Some status indicators and chart elements may not meet this threshold against adjacent colors.
1.4.12 Text Spacing Supports Content remains readable and functional when text spacing is overridden per the criterion (line height 1.5x, paragraph spacing 2x, letter spacing 0.12em, word spacing 0.16em).
1.4.13 Content on Hover or Focus Partially Supports Tooltips appear on hover for icon buttons and truncated text. Tooltips are generally dismissible (by moving the pointer) but may not all be hoverable (pointer cannot move to the tooltip itself without it disappearing).
2.4.5 Multiple Ways Supports Content is accessible via sidebar navigation, page URLs (direct linking), and browser history. A search function is available for models and printers.
2.4.6 Headings and Labels Supports Pages use descriptive headings (h1, h2, h3) and form labels that describe the topic or purpose.
2.4.7 Focus Visible Partially Supports Browser default focus indicators are preserved for most elements. Some custom-styled buttons and interactive elements may have reduced or unclear focus indicators due to Tailwind CSS styling.
3.1.2 Language of Parts Not Applicable O.D.I.N. content is in a single language (English). No multilingual content exists.
3.2.3 Consistent Navigation Supports The sidebar navigation is consistent across all pages. Navigation order and labeling do not change between pages.
3.2.4 Consistent Identification Supports Components with the same function have consistent labeling and appearance across the application (e.g., "Add" buttons, "Delete" actions, status badges).
3.3.3 Error Suggestion Partially Supports Some form validation provides suggestions for correction (e.g., "Password must be at least 8 characters"). Not all error states provide specific remediation guidance.
3.3.4 Error Prevention (Legal, Financial, Data) Supports Destructive actions (deleting printers, purging jobs, erasing user data) require confirmation dialogs before execution.
4.1.3 Status Messages Partially Supports Toast notifications announce operation results (success/failure). Some status changes (printer state updates via WebSocket, job progress) may not be announced to screen readers via ARIA live regions.

Revised Section 508 — Functional Performance Criteria

Criteria Conformance Level Remarks and Explanations
302.1 Without Vision Partially Supports ARIA landmarks are used for major page regions. Most interactive elements have accessible names. Screen reader users may have difficulty with real-time dashboard updates, chart data, and camera feeds.
302.2 With Limited Vision Partially Supports Browser zoom to 200% is supported. Some color-dependent status indicators may be difficult to distinguish with low vision.
302.3 Without Perception of Color Partially Supports Most status information includes text labels alongside color. Some compact views may rely on color alone for printer status differentiation.
302.4 Without Hearing Supports O.D.I.N. does not rely on audio for any functionality. All information is conveyed visually or through text.
302.5 With Limited Hearing Supports Same as 302.4 — no audio dependency.
302.6 Without Speech Supports O.D.I.N. does not require speech input.
302.7 With Limited Manipulation Partially Supports Most functionality is accessible via keyboard. Some interactions (modal focus management, dropdown navigation) may require mouse input. No multi-finger gestures or fine motor movements are required.
302.8 With Limited Reach and Strength Supports O.D.I.N. is a web application with no physical reach requirements. Standard input devices are supported.
302.9 With Limited Language, Cognitive, and Learning Abilities Partially Supports The interface uses consistent navigation and clear labels. Technical terminology (filament types, printer protocols) may present comprehension challenges but is inherent to the domain.

Known Limitations and Remediation Plans

Area Current Status Planned Improvement
Chart accessibility Charts (Recharts) lack comprehensive text alternatives Investigate adding data tables alongside charts as alternatives
Modal focus management Some modals may not trap/release focus correctly Audit and fix focus trap behavior in all modal components
Color-only status indicators Some compact views rely on color alone Add text labels or patterns to all status indicators
ARIA live regions Real-time updates may not be announced to screen readers Add aria-live regions for printer state changes and job progress
Focus indicators Some custom elements have weak focus styling Add visible focus ring styles to all interactive elements
Contrast ratios Some secondary text and status badges may be below 4.5:1 Audit and adjust color palette for AA compliance

Contact

For accessibility questions, issues, or requests for information in alternative formats:

Sublab 3DP Email: sublab3dp@gmail.com

We welcome feedback on the accessibility of O.D.I.N. and are committed to improving the experience for all users.


This VPAT is based on the ITI VPAT 2.5 template. It represents Sublab 3DP's best assessment of O.D.I.N.'s accessibility at the time of publication. Accessibility conformance is evaluated against the stated standards and may change with product updates.