Skip to main content

Accessibility conformance report (VPAT)

This is Kumkuat's Voluntary Product Accessibility Template (VPAT), WCAG 2.1 edition, based on the ITI VPAT 2.5Rev template. It is Kumkuat's own assessment of the web application, not an independent auditor's opinion.

Product nameKumkuat
Product versionCurrent (SaaS, app.kumkuat.ai)
Product descriptionAI-powered communications intelligence platform for testing messaging against synthetic audiences, analysing documents and managing personas
Report dateJune 2026 (revised October 2026)
Contactsupport@kumkuat.ai
Evaluation methodsCode review, component inspection, automated scan (Lighthouse/axe), keyboard-only navigation walkthrough
Applicable standardWCAG 2.1 Level AA
TechnologyFlask/Jinja2 server-rendered templates, Basecoat UI components, Tailwind CSS v4, vanilla JavaScript, Firebase Authentication

Summary​

Conformance levelCriteria
Supports28
Partially Supports14
Does Not Support0
Not Applicable4

Strengths

  • Keyboard accessibility. All custom interactive components (dropdown menus, select boxes, tabs, popovers, sidebars) support arrow keys, Home/End, Escape and Tab navigation.
  • ARIA. Custom components use ARIA roles, states and properties throughout.
  • Semantic HTML. Landmark elements, a heading hierarchy and labelled form fields.
  • Responsive layout. Text resizes and content reflows without loss.
  • Focus management. Focus is managed when modals, popovers and navigation open and close.

Areas for improvement

  • Colour contrast. Formally measure contrast ratios across light and dark themes, including primary buttons, muted text and accent colours.
  • Automated testing. Add axe-core or similar automated accessibility checks to the release pipeline.
  • autocomplete attributes. Add input-purpose values to standard form fields.
  • Skip navigation. Verify or add a skip-to-main-content link.
  • Status announcements. Announce every dynamic status change (job progress, document processing) through live regions.
  • AI-generated content. Mark the language of AI-generated text that is not in English, and keep its formatting accessible.

Remediation. We will address the areas for improvement and update this report as they are resolved. An independent accessibility audit has not yet been commissioned.

Conformance level definitions​

TermMeaning
SupportsThe functionality has at least one method that meets the criterion without known defects, or meets it with equivalent facilitation.
Partially SupportsSome functionality does not meet the criterion.
Does Not SupportThe majority of functionality does not meet the criterion.
Not ApplicableThe criterion is not relevant to the product.

Table 1: WCAG 2.1 Level A​

Perceivable​

CriterionConformance levelRemarks
1.1.1 Non-text ContentPartially SupportsImages use meaningful alt attributes (persona names, logo descriptions). Some dynamically generated content (charts, AI-generated visualizations) may lack text alternatives.
1.2.1 Audio-only and Video-only (Prerecorded)Not ApplicableThe application does not include prerecorded audio-only or video-only content.
1.2.2 Captions (Prerecorded)Not ApplicableThe application does not include prerecorded multimedia content.
1.2.3 Audio Description or Media Alternative (Prerecorded)Not ApplicableThe application does not include prerecorded video content.
1.3.1 Info and RelationshipsPartially SupportsSemantic elements (main, nav, header, footer, section, article) are used throughout. Form labels are associated with inputs, and ARIA roles are implemented on menus, tabs and listboxes. Some complex data tables may lack full th scope or caption markup.
1.3.2 Meaningful SequenceSupportsContent follows a logical reading order in the DOM, and server-rendered templates keep source order consistent with the visual layout.
1.3.3 Sensory CharacteristicsPartially SupportsInstructions generally do not rely on sensory characteristics alone. Some colour-coded indicators (signal status, alert severity) also use position or icons, but have not been fully reviewed for colour-only reliance.
1.4.1 Use of ColorPartially SupportsColour indicates alert severity, signal status and audience scores. Icons and labels often accompany it, but a formal review has not confirmed that colour is never the only differentiator.
1.4.2 Audio ControlNot ApplicableThe application does not auto-play audio.

Operable​

CriterionConformance levelRemarks
2.1.1 KeyboardSupportsAll interactive components (dropdown menus, select boxes, tabs, popovers, sidebars, modals) support arrow keys, Home/End, Escape and Tab. Focus is managed when modals open and close.
2.1.2 No Keyboard TrapSupportsComponents return focus on close. Modals and popovers dismiss with Escape, and background content is made inert while sidebars are open.
2.1.4 Character Key ShortcutsSupportsNo single-character key shortcuts are implemented.
2.2.1 Timing AdjustablePartially SupportsSign-in sessions expire on a schedule set by the platform, and users cannot extend a session before it expires. Background processing has no user-facing time limits.
2.2.2 Pause, Stop, HideSupportsNo auto-updating, moving or blinking content. Toast notifications use aria-live="polite" and stay up long enough to read.
2.3.1 Three Flashes or Below ThresholdSupportsNo content flashes more than three times per second.
2.4.1 Bypass BlocksPartially SupportsNavigation uses nav, main and landmark regions. A skip-to-main-content link has not been verified.
2.4.2 Page TitledSupportsEvery page has a descriptive title.
2.4.3 Focus OrderSupportsTab order follows the visual layout, and components manage focus with tabindex.
2.4.4 Link Purpose (In Context)SupportsLinks have descriptive text or surrounding context that makes their purpose clear.
2.5.1 Pointer GesturesSupportsAll functionality works with a single click or tap; no multi-point or path-based gestures are needed.
2.5.2 Pointer CancellationSupportsControls use standard click events, which cancel when the pointer moves off the target before release.
2.5.3 Label in NameSupportsVisible labels match, or are contained in, the accessible names of controls.
2.5.4 Motion ActuationNot ApplicableNo functionality is triggered by device motion.

Understandable​

CriterionConformance levelRemarks
3.1.1 Language of PageSupports<html lang="en"> is set on all pages.
3.2.1 On FocusSupportsNo component changes context when it receives focus.
3.2.2 On InputSupportsForm submission requires an explicit action, and no unexpected context changes occur on input.
3.3.1 Error IdentificationPartially SupportsValidation errors are shown visually. Their programmatic association with fields (aria-describedby, aria-invalid) has not been fully verified.
3.3.2 Labels or InstructionsSupportsForm fields have associated labels, and required fields and input expectations are indicated.

Robust​

CriterionConformance levelRemarks
4.1.1 ParsingSupportsServer-rendered templates produce well-formed markup. (Deprecated in WCAG 2.2; still part of 2.1.)
4.1.2 Name, Role, ValueSupportsCustom components use appropriate ARIA roles (menu, tab, listbox), states (aria-expanded, aria-selected, aria-checked, aria-hidden) and properties (aria-controls, aria-labelledby, aria-activedescendant).

Table 2: WCAG 2.1 Level AA​

Perceivable​

CriterionConformance levelRemarks
1.3.4 OrientationSupportsUsable in portrait and landscape; no content is locked to one orientation.
1.3.5 Identify Input PurposePartially SupportsStandard fields (name, email, password) have not been fully reviewed for autocomplete values.
1.4.3 Contrast (Minimum)Partially SupportsBody text generally meets the 4.5:1 minimum. In dark mode, primary buttons use white text on the brand orange, which measures 2.48:1, below the minimum. Muted text, accent colours and the light-mode button styling have not yet been formally measured.
1.4.4 Resize TextSupportsThe responsive layout adapts to text resized up to 200% without loss of content or functionality.
1.4.5 Images of TextSupportsText is rendered as live text; logos are the only exception.
1.4.10 ReflowSupportsContent reflows at 320 CSS pixels wide (400% zoom at 1280 px), and the sidebar collapses on small viewports.
1.4.11 Non-text ContrastPartially SupportsButtons, inputs and form controls have visible borders and focus indicators. Chart and visualization colours have not been audited for 3:1 contrast.
1.4.12 Text SpacingSupportsNo fixed-height containers clip text when spacing is increased.
1.4.13 Content on Hover or FocusSupportsPopovers and tooltips dismiss with Escape, stay visible while hovered, and persist until focus moves or they are dismissed.

Operable​

CriterionConformance levelRemarks
2.4.5 Multiple WaysSupportsPages are reachable through the sidebar, direct URLs, workspace switching and search.
2.4.6 Headings and LabelsSupportsPages use descriptive headings in a logical hierarchy, and form labels describe their purpose.
2.4.7 Focus VisibleSupportsFocus is shown with outline styles, and custom components use :focus-visible indicators.

Understandable​

CriterionConformance levelRemarks
3.1.2 Language of PartsPartially SupportsThe interface is English. AI-generated text in other languages is not marked with a lang attribute.
3.2.3 Consistent NavigationSupportsThe sidebar appears in the same place, in the same order, on every signed-in page.
3.2.4 Consistent IdentificationSupportsComponents with the same function use the same labels and icons throughout.
3.3.3 Error SuggestionPartially SupportsCommon inputs (email format, required fields) suggest corrections. Some complex cases (document upload, API errors) may not suggest a fix.
3.3.4 Error Prevention (Legal, Financial, Data)Partially SupportsDestructive actions (deleting workspaces, removing personas) ask for confirmation. Bulk operations have not been fully reviewed for confirmation and reversibility.

Robust​

CriterionConformance levelRemarks
4.1.3 Status MessagesPartially SupportsToast notifications use aria-live="polite". Some dynamic updates (job processing status, document ingestion progress) are not yet confirmed to be announced to assistive technology.

This report was produced through code review, component inspection and functional testing of the Kumkuat web application. Accessibility questions: support@kumkuat.ai.