Skip to content

Legal

VPAT

Voluntary Product Accessibility Template

Evaluation date: March 1, 2026 · Standard: WCAG 2.1 Level AA · Product: Intended Console web application

Scope

This VPAT covers the Intended Console web application (apps.intended.so), accessed via modern browsers (Chrome, Firefox, Safari, Edge, latest 2 versions).

Exclusions

  • Python SDK, Go SDK, CLI, Terraform Provider: SDKs are code libraries subject to programmatic accessibility requirements, not WCAG 2.1. SDK documentation and examples follow WCAG 2.1 Level AA.
  • Mobile applications: None yet deployed.
  • Intended.so marketing website: Covered by separate accessibility assessment.

WCAG 2.1 Level AA target

Intended targets WCAG 2.1 Level AA conformance for Console. This means: Perceivable (Text alternatives, captions, adaptable content), Operable (Keyboard navigation, sufficient time, no seizure triggers), Understandable (Readable text, predictable behavior, error correction), Robust (Compatible with assistive technologies).

Known limitations and remediations

  • 1. Color Contrast (WCAG 2.1 §1.4.3): Most text — including chart legend and axis labels — meets the 4.5:1 AA minimum. Some de-emphasized code chrome (source-view line numbers and comment text) remains below 4.5:1; this criterion is therefore reported as "Partially Supports." Remediation: on the current roadmap, targeted for Q4 2026 — raise contrast on the remaining code-view elements.
  • 2. Dialog semantics (WCAG 2.1 §4.1.2 / §1.3.1): The pack-detail drawer and the global command palette are keyboard-reachable and operable, but are not yet exposed to assistive technology as modal dialogs (role="dialog" / aria-modal with a focus trap and consistent Escape-to-close). Remediation: on the current roadmap, targeted for Q4 2026.
  • 3. Mobile and Touch (Out of Scope): Mobile responsive design in progress; mobile accessibility review planned Q4 2026.

Conformance summary

The Intended Console targets WCAG 2.1 Level AA conformance. The application is built with semantic HTML, ARIA landmarks, keyboard-accessible interactive components, and sufficient color contrast. This VPAT documents the current conformance status of applicable success criteria.

Accessibility issues can be reported to accessibility@intended.so. We commit to investigating and addressing reported issues within 10 business days.

Perceivable

CriteriaLevelStatusRemarks
1.1.1 Non-text ContentASupportsAll images include alt text. Decorative images use empty alt attributes. Interactive visualizations include text alternatives.
1.2.1 Audio-only and Video-onlyANot ApplicableThe Intended platform does not include audio or video content.
1.3.1 Info and RelationshipsASupportsSemantic HTML used throughout: headings (h1-h6), lists, tables, landmarks, and ARIA roles.
1.3.2 Meaningful SequenceASupportsDOM order matches visual presentation. Content reads logically when styles are disabled.
1.3.3 Sensory CharacteristicsASupportsInstructions do not rely solely on color, shape, or visual position. Status labels include text.
1.4.1 Use of ColorASupportsColor is not the sole means of conveying information. Status badges include text labels alongside color indicators.
1.4.3 Contrast (Minimum)AAPartially SupportsMost text passes AA, including chart legend and axis labels. Some de-emphasized code chrome (source-view line numbers and comments) remains below 4.5:1 and is being remediated.
1.4.4 Resize TextAASupportsContent remains readable and functional at 200% zoom. Responsive layout adapts to viewport changes.
1.4.5 Images of TextAASupportsNo images of text. All text is rendered as real text content.

Operable

CriteriaLevelStatusRemarks
2.1.1 KeyboardASupportsAll interactive elements are keyboard accessible. Interactive components support Tab, Enter, Space, and Arrow key navigation.
2.1.2 No Keyboard TrapASupportsFocus can be moved away from all components using standard keyboard navigation.
2.2.1 Timing AdjustableASupportsThe Authority Runtime Stepper auto-advance pauses on hover and focus. No other timed content.
2.3.1 Three FlashesASupportsNo content flashes more than three times per second.
2.4.1 Bypass BlocksASupportsSkip navigation links provided. Landmark regions used for page structure.
2.4.2 Page TitledASupportsEvery page has a unique, descriptive title generated via createMetadata().
2.4.3 Focus OrderASupportsFocus order follows the logical reading order of the page.
2.4.4 Link Purpose (In Context)ASupportsLink text describes destination. CTA buttons use descriptive labels.
2.4.6 Headings and LabelsAASupportsHeadings describe content sections. Form labels describe input purpose.
2.4.7 Focus VisibleAASupportsFocus indicators are visible on all interactive elements using outline styles.

Understandable

CriteriaLevelStatusRemarks
3.1.1 Language of PageASupportsHTML lang attribute set to 'en' on all pages.
3.2.1 On FocusASupportsNo context changes occur on focus.
3.2.2 On InputASupportsForm submissions require explicit action (button click). No auto-submit.
3.3.1 Error IdentificationASupportsForm validation errors are identified with text descriptions.
3.3.2 Labels or InstructionsASupportsAll form inputs have associated labels. Required fields are marked.
3.3.3 Error SuggestionAASupportsError messages suggest corrections where possible (e.g., email format).

Robust

CriteriaLevelStatusRemarks
4.1.1 ParsingASupportsValid HTML generated by React. No duplicate IDs or malformed markup.
4.1.2 Name, Role, ValueAPartially SupportsInteractive components expose name, role, and value via semantic HTML and ARIA (aria-label, aria-current, aria-live). Exception: the pack-detail drawer and global command palette are keyboard-operable but not yet exposed as modal dialogs (role=dialog/aria-modal with a focus trap); remediation targeted Q4 2026.

Testing methodology

  • Manual keyboard navigation testing across all pages and interactive components
  • Screen reader testing with VoiceOver (macOS) and NVDA (Windows)
  • Automated scanning with axe-core and Lighthouse accessibility audits
  • Color contrast verification against Intended design tokens (dark palette: #000000, #0b1117)
  • Zoom testing at 200% and 400% in Chrome, Firefox, and Safari
  • Reduced motion preference testing for animated components
VPAT — Accessibility Conformance | Intended