Skip to content
Ownfold
Esc
navigateopen⌘Jpreview
On this page

Accessibility and browser support

Build accessible application-owned Ownfold interfaces and understand the keyboard, reflow, browser, and WCAG checks used by repository examples.

Ownfold is headless and therefore cannot guarantee conformance for a host application’s interface. The SDK preserves typed states and errors so applications can build accessible recovery, device, pairing, and rotation workflows without reverse-engineering internal state.

Host responsibilities

  • Give every input a programmatic label, including Recovery Kit file inputs.
  • Announce asynchronous success and status changes with an appropriate live region.
  • Announce actionable failures without moving the user into an impossible lifecycle state.
  • Disable conflicting actions while an operation is pending.
  • Keep keyboard focus visible and preserve a logical focus order.
  • Never use color as the only carrier of state or failure information.
  • Support 320 CSS-pixel reflow, 200% zoom, reduced motion, forced colors, and host light/dark themes.
  • Confirm destructive device revocation and local-state deletion in application language.
  • Describe automatic locking accurately: it reduces key lifetime but does not defend against malicious same-origin JavaScript.

Repository example coverage

The React/Vite private journal is scanned with axe-core rules tagged for WCAG 2.0 A/AA, WCAG 2.1 A/AA, and WCAG 2.2 AA. Its browser checks cover custom onboarding, Recovery Kit selection, encryption, decryption, locking, keyboard access, narrow reflow, dark mode, and reduced motion.

The same core application flow runs in desktop Chromium, Firefox, and WebKit plus a mobile Chromium viewport. TanStack Start has a separate full-stack journal flow. These checks validate the example interfaces, not every possible interface built with Ownfold.

Manual release checklist

Before shipping a host application, test VoiceOver with Safari, NVDA with Firefox or Chromium, keyboard-only operation, 200% browser zoom, forced-colors mode, reduced motion, and every supported theme. Exercise each destructive confirmation and wrong-password/corrupted-file error without a pointing device. Treat inaccessible recovery as data-loss risk, not cosmetic debt.

Last updated on August 4, 2026

Was this page helpful?