Skip to main content

Trust

Accessibility

We are committed to making Standard Works usable by everyone, including people who rely on assistive technology. This page is our Accessibility Conformance Report (a VPAT 2.5) describing how the product measures up against the Web Content Accessibility Guidelines (WCAG) 2.2, Level AA.

About this report

Standard evaluated
WCAG 2.2, Level A and AA
Report format
VPAT 2.5 (WCAG edition)
Scope
Public marketing site and application dashboard, including the Case Builder workspace (facts, issues, people & organizations, timeline, transcripts, reports) and the homepage product demos added in this cycle
Report date
July 11, 2026

Evaluation methods. Automated static analysis of the codebase, manual source-code review of pages, layouts, and interactive components against each WCAG 2.2 A/AA success criterion, and programmatic color-contrast computation of the design-system palette.

This is a self-assessment backed by a code-level audit and active remediation. It has not yet been certified by an independent third-party auditor. Conformance claims for criteria that require live assistive-technology verification (screen-reader testing with VoiceOver, NVDA, and JAWS, plus a runtime keyboard walkthrough and automated runtime scans) are stated conservatively as Partially Supports until that testing is complete. Those items are tracked in the roadmap below.

Key

Conformance levels

Supports
The functionality meets the criterion without known defects.
Partially Supports
Some functionality meets the criterion; some does not.
Does Not Support
The majority of functionality does not meet the criterion.
Not Applicable
The criterion is not relevant to the product.

Table 1

Success criteria, Level A

Success CriterionConformanceRemarks and Explanations
1.1.1
Non-text Content
Partially SupportsIcon-only controls in navigation, pagination, and toolbars have accessible names (aria-label). Decorative logos and animation elements use empty alt text or aria-hidden. Charts expose auto-generated textual descriptions, and the force-directed graph carries a role and a summary label. Gaps: chart/graph data is summarized but not fully explorable as text; the timeline canvas, its mini-map, and the PDF page renderer do not yet expose a text alternative (the timeline's spreadsheet view provides an equivalent but is not programmatically associated as the alternative).
1.2.1
Audio-only and Video-only (Prerecorded)
Partially SupportsThe marketing site contains no prerecorded video; its vignettes are silent, decorative DOM/canvas animations. The dashboard's document viewer can play user-uploaded audio/video, for which no text or audio alternative is generated. To be remediated where media carries information.
1.2.2
Captions (Prerecorded)
Partially SupportsThe only video element is the dashboard document viewer, which plays user-uploaded media with no captions track. To be remediated where video carries information.
1.2.3
Audio Description or Media Alternative
Not ApplicableNo prerecorded synchronized media conveying information beyond decorative motion.
1.3.1
Info and Relationships
Partially SupportsData tables render semantic table markup with scoped headers and aria-sort state; the case-evaluation matrix exposes ARIA table semantics with row/column headers and per-cell labels; segmented controls expose radiogroup semantics; the Case Builder section navigation is a nav landmark with aria-current; a single main landmark wraps page content; footer headings use logical levels. Gaps: the dashboard sidebar still lacks a nav landmark and aria-current; chart legends and graph filters still convey grouping visually only.
1.3.2
Meaningful Sequence
SupportsDOM order matches the visual reading order on reviewed pages.
1.3.3
Sensory Characteristics
SupportsInstructions do not rely solely on shape, size, or position.
1.4.1
Use of Color
Partially SupportsMost state is conveyed with text plus an icon; the case-evaluation matrix and evaluation badges pair color with printed text; chart series carry decal patterns in addition to color; toggle controls expose their state programmatically (aria-pressed/aria-checked). Gaps: graph entity types and timeline/transcript issue coding are distinguished by color alone, and spreadsheet conditional formatting (e.g. red negatives) is color-only.
1.4.2
Audio Control
Not ApplicableNo auto-playing audio.
2.1.1
Keyboard
Partially SupportsPill toggles and segmented controls are keyboard-operable; search-toolbar help and operator controls are native buttons; data-table row expansion is keyboard-activatable; the mobile menu closes on Escape and manages focus; transcript lines, the transcript picker, and transcript search are keyboard-operable, and each transcripts panel provides a keyboard menu for moving and resizing panels. Gaps: the canvas graph (node selection, pan/zoom/drag) and chart drill-down are pointer-only; table column/row resize and chat-drawer resize are drag-only.
2.1.2
No Keyboard Trap
SupportsNo keyboard traps identified; dialogs manage focus, close on Escape, and every step of the signup flow provides a keyboard-reachable close control.
2.1.4
Character Key Shortcuts
Not ApplicableNo single-character key shortcuts are implemented.
2.2.1
Timing Adjustable
SupportsNo time limits on content.
2.2.2
Pause, Stop, Hide
Partially SupportsA global prefers-reduced-motion rule disables the continuously-running decorative CSS animations and reduces CSS transitions to a single frame; JavaScript-driven animations honor the same preference, and the homepage's auto-playing product demos provide a visible Skip control and jump to their end state under reduced motion. Gap: the auto-scrolling logo marquee offers no pause control for users without the OS-level motion preference set.
2.3.1
Three Flashes or Below Threshold
SupportsNo flashing content.
2.4.1
Bypass Blocks
SupportsA "Skip to main content" link and a single main landmark are present in both the public and dashboard layouts.
2.4.2
Page Titled
SupportsPer-route page titles are set via the framework's metadata templates on public and dashboard routes, including the documents pages and every Case Builder section.
2.4.3
Focus Order
Partially SupportsLogical for standard content; the mobile menu restores focus to its trigger on close, and dialogs return focus to the triggering control when closed. To be confirmed for remaining custom popovers/drawers via AT testing.
2.4.4
Link Purpose (In Context)
SupportsIcon-only links carry an aria-label, linked-count cells on Case Builder cards describe what they count, and no bare "click here" links were found.
2.5.1
Pointer Gestures
Partially SupportsGraph pan/zoom is a multipoint/drag gesture with no single-pointer alternative yet. The transcripts workspace's panels provide single-click move/resize controls alongside drag.
2.5.2
Pointer Cancellation
SupportsActivation occurs on the up-event for standard controls.
2.5.3
Label in Name
SupportsVisible labels match accessible names on reviewed controls.
2.5.4
Motion Actuation
Not ApplicableNo motion-actuated functionality.
3.1.1
Language of Page
SupportsThe page language is declared on the root html element.
3.2.1
On Focus
SupportsNo change of context occurs on focus.
3.2.2
On Input
SupportsNo unexpected change of context occurs on input.
3.2.6
Consistent Helpnew in 2.2
SupportsA contact mechanism appears consistently in the navigation and footer.
3.3.1
Error Identification
Partially SupportsThe careers application and case-settings label field expose errors via role=alert and aria-invalid, and chat errors carry an alert role. Gaps: signup-dialog errors render without an alert role; login, contact, and import-productions forms report validation only via transient toast notifications, which are not reliably associated with the offending field.
3.3.2
Labels or Instructions
Partially SupportsForm controls across auth, careers, and Case Builder dialogs are associated with a label or aria-label; required fields are marked aria-required; the document, Case Builder, and graph-explorer search inputs, the pricing case-size slider, and the import-productions comboboxes are programmatically labeled. Gap: some advanced query-builder and chart-builder controls remain unlabeled.
3.3.7
Redundant Entrynew in 2.2
SupportsMulti-step flows do not require re-entering previously provided information.
4.1.1
Parsing
SupportsObsolete in WCAG 2.2; no parsing-blocking markup issues were found.
4.1.2
Name, Role, Value
Partially SupportsNative elements and UI primitives expose correct roles; pill toggles, segmented controls, chart-builder toggles, and filter tiles carry ARIA state; Case Builder cards expose single, properly-labeled selection and expand/collapse controls with aria-checked/aria-expanded; the chat composer exposes textbox semantics; dialogs and popovers are built on accessible primitives; the graph canvas carries a role and descriptive label, and charts expose generated descriptions. Gaps: chart and graph content is described but not interactively navigable by assistive technology, and a few custom controls (report-format pickers, chip selectors) still lack complete state.

Table 2

Success criteria, Level AA

Success CriterionConformanceRemarks and Explanations
1.2.4
Captions (Live)
Not ApplicableNo live media.
1.2.5
Audio Description (Prerecorded)
Not ApplicableNo informational prerecorded video.
1.3.4
Orientation
SupportsContent is responsive and not locked to a single orientation.
1.3.5
Identify Input Purpose
Partially SupportsPublic-facing identifying fields (careers application, signup, login, MFA phone) carry the appropriate input type and autocomplete tokens. Gaps: the contact dialog's email, phone, and organization fields lack autocomplete tokens; remaining identifying fields in the dashboard are still being annotated.
1.4.3
Contrast (Minimum)
Partially SupportsPrimary text/background pairs pass (body text ~17:1; accent-blue ~7.9:1). Gap: accent-green, accent-yellow, and accent-pink fall below 4.5:1 when used as normal-size text, and some muted-gray text falls below 4.5:1 on tinted surfaces. They pass for large/bold text and non-text use. See roadmap.
1.4.4
Resize Text
SupportsLayout uses relative units and reflows on zoom.
1.4.5
Images of Text
SupportsText is live text, not images of text.
1.4.10
Reflow
SupportsThe responsive layout reflows to small viewports without loss of content (data tables scroll within a container).
1.4.11
Non-text Contrast
Partially SupportsMost control borders and focus indicators meet 3:1. To be confirmed for chart elements and some toolbar controls.
1.4.12
Text Spacing
SupportsNo fixed line-heights that clip text on reviewed pages.
1.4.13
Content on Hover or Focus
Partially SupportsPopovers are dismissable and hoverable; the navbar Company dropdown closes on Escape and exposes expanded/haspopup state; evaluation-matrix cells and linked-count cells expose their content as accessible labels rather than tooltip-only. Gap: timeline fact boxes and transcript annotations still convey content through native hover-only title tooltips that are not dismissable, hoverable, or keyboard-reachable.
2.4.5
Multiple Ways
SupportsThe site provides navigation plus search within document collections.
2.4.6
Headings and Labels
Partially SupportsHeading levels were corrected on the homepage and footer. Gaps: the pricing and careers pages skip from h1 to h3; the login page title is not a heading; the case layout renders headings out of order; and several Case Builder pages (facts, issues, timeline, transcripts) render no headings at all.
2.4.7
Focus Visible
Partially SupportsVisible focus-visible rings were added to toggles, table rows, toolbar buttons, dialog fields, Case Builder search inputs and selection controls, the shared filter checkbox, transcript lines, and video controls. Gaps: several timeline and report-wizard buttons still rely on default rings, and some icon buttons' default rings may be obscured by translucent surfaces.
2.4.11
Focus Not Obscured (Minimum)new in 2.2
Partially SupportsThe sticky navbar may overlap focused elements near the top of the viewport; to be verified.
2.5.7
Dragging Movementsnew in 2.2
Partially SupportsColumn/row resize, graph drag, chat-drawer resize, and the transcripts workspace's panel rearrange/resize are drag-only with no single-pointer alternative yet (the panel grid offers a one-click layout reset).
2.5.8
Target Size (Minimum)new in 2.2
Partially SupportsThe mobile menu button meets 44×44 minimum; pagination arrows, page-size buttons, and the transcript video seek slider meet the 24×24 CSS-pixel minimum. Gaps: dense segmented-pill segments, search operator chips, key-fact stars, filter checkboxes and tiles, and color swatches remain below the minimum.
3.1.2
Language of Parts
SupportsContent is English throughout; no foreign-language passages require markup.
3.2.3
Consistent Navigation
SupportsThe navbar and footer are consistent across pages.
3.2.4
Consistent Identification
SupportsComponents are identified consistently.
3.3.3
Error Suggestion
Partially SupportsSome forms suggest corrections; coverage is inconsistent (see 3.3.1).
3.3.4
Error Prevention (Legal, Financial, Data)
Partially SupportsDestructive actions (e.g. delete case) use a typed confirmation dialog. Checkout/billing flows to be reviewed.
3.3.8
Accessible Authentication (Minimum)new in 2.2
Partially SupportsEmail/password and TOTP/SMS MFA are supported; no cognitive-function test is imposed beyond standard auth. Confirm password managers and paste are not blocked.
4.1.3
Status Messages
Partially SupportsPagination status and data-table loading/empty states use aria-live regions; chat streaming state and errors are announced on both the homepage demo and the dashboard chat; Case Builder result counts, empty states, bulk-selection counts, and transcript find-match counters use live regions; toast notifications announce once via the toast library's live region. Gaps: report-wizard step changes and some timeline loading transitions are not yet announced.

Remediation roadmap

What we have fixed, and what is next.

Completed in this pass

  • Skip-to-content link and a single main landmark across public pages
  • Navigation landmark with expanded/controls state and Escape-to-close on the mobile menu
  • Pill toggles converted to keyboard-operable switch buttons with a visible focus indicator
  • Data-table scoped headers, keyboard-activatable row expansion, and a focus ring
  • Pagination accessible names and an aria-live page-status announcement
  • Corrected footer heading levels and decorative-logo alt text
  • Form and dialog control labels, aria-required, role=alert errors, and removal of stray autofocus
  • Global prefers-reduced-motion handling that stops decorative CSS animations (2.2.2)
  • Reduced-motion preference extended to JavaScript-driven (framer-motion) animations (2.2.2)
  • Autocomplete tokens on public-facing identifying fields (1.3.5)
  • Pagination controls raised to the 24×24 minimum target size (2.5.8)
  • Skip link added to the dashboard layout; per-route titles on all dashboard pages (2.4.1, 2.4.2)
  • Search toolbar help and operator controls converted to native buttons with visible focus (2.1.1, 2.4.7)
  • Segmented pills given radiogroup semantics, focus indicators, and a non-color selected cue (4.1.2, 2.4.7, 1.4.1)
  • Column sort state exposed via aria-sort; table loading/empty states announced (1.3.1, 4.1.3)
  • Company dropdown keyboard parity (Escape, focus-out close, haspopup) and mobile-menu focus management (1.4.13, 2.4.3)
  • Transcripts workspace: keyboard-operable transcript lines, picker, and search; per-panel keyboard move/resize menus alongside drag (2.1.1, 2.5.7)
  • Case Builder: single labeled selection control per card with aria-checked/aria-expanded, labeled search inputs with focus rings, aria-pressed filter tiles, nav landmark with aria-current, and live regions for counts and empty states (4.1.2, 3.3.2, 2.4.7, 4.1.3)
  • Evaluation matrix converted to ARIA table semantics with per-cell accessible labels (1.3.1, 1.4.13)
  • Chat: textbox semantics on the composer, streaming/announcement live regions, and alert roles on errors, on both the homepage demo and the dashboard drawer (4.1.2, 4.1.3, 3.3.1)
  • Charts: built-in accessible descriptions and decal patterns enabled; graph canvas given a role and summary label; chart-builder toggles expose pressed state (1.1.1, 1.4.1, 4.1.2)
  • Dialog focus returned to the triggering control on close; signup-dialog keyboard trap removed (2.4.3, 2.1.2)
  • Per-route titles added to documents and all Case Builder pages; import-productions labels wired to their fields; pricing slider and remaining search inputs labeled (2.4.2, 3.3.2)

Outstanding — high impact

  • Canvas keyboard interaction. Charts and the graph now expose text descriptions; the remaining work is a keyboard interaction model (node selection, chart drill-down) and a text alternative for the timeline canvas (2.1.1, 1.1.1, 4.1.2).
  • PDF viewer. Enable the text layer or provide an extracted-text alternative so document content is readable by assistive technology (1.1.1).
  • Color contrast. Darken or restrict the accent green, yellow, and pink and the muted-gray text when used at normal size (a brand-design decision) (1.4.3).

Outstanding — medium impact

  • Convert remaining toast-only validation to field-associated, announced errors (3.3.1, 4.1.3)
  • Add single-pointer alternatives for table column/row resize, chat-drawer resize, and graph pan/zoom, and raise remaining small targets, e.g. segmented pills (2.5.7, 2.5.8)
  • Extend autocomplete tokens to the contact dialog and remaining dashboard identifying fields (1.3.5)
  • Label the remaining query-builder controls and chip selectors (3.3.2, 4.1.2)
  • Add a nav landmark and aria-current to the dashboard sidebar, and fix heading hierarchy on pricing, careers, login, and Case Builder pages (1.3.1)
  • Announce report-wizard step changes and timeline loading transitions (4.1.3)
  • Replace hover-only tooltips on timeline fact boxes and transcript annotations (1.4.13)
  • Add a pause control to the logo marquee (2.2.2)

Required to finalize this report

  • Live assistive-technology testing (VoiceOver, NVDA, JAWS) and a full keyboard walkthrough
  • A runtime automated scan (axe-core / Lighthouse) on the running application

Feedback

Run into a barrier?

If you encounter an accessibility barrier on Standard Works, or you need information in an alternative format, please tell us at accessibility@standardworks.ai. We aim to respond promptly and will work with you to provide the information or functionality you need. See our broader trust commitments for more.

Last updated July 11, 2026. VPAT® is a registered trademark of the Information Technology Industry Council (ITI).