Open-source accessibility tooling

See where keyboard navigation breaks.

FocusPath follows Tab or Shift+Tab navigation in Chromium, draws the observed route, and turns deterministic focus issues into a report your team can act on.

View the path ↓

Live scanner / beta

Trace a public page.

Hosted API beta: enter a public URL for one bounded, forward-only Chromium scan. Use the local package for configurable limits and reverse traversal.

Public HTTP(S) pages only. By continuing, you confirm you are authorized to test this page.

Privacy and scan limitations

The URL is sent to the FocusPath API on AWS and its page is fetched by Chromium. FocusPath does not intentionally persist page content or reports; infrastructure providers may retain request metadata in operational logs. Query strings, screenshots, accessible names and report content can be sensitive, so do not submit secret-bearing URLs and review reports before sharing them.

The hosted beta has a 25-second deadline, one active scanner, request quotas, at most 50 observed stops, 200 Tab presses and 5,000px of beyond-viewport screenshot evidence. Font and media requests are blocked to bound cost; the report names these restrictions because fallback fonts can change geometry. The CLI and library run locally with configurable limits and can scan Shift+Tab separately.

Cross-origin iframes are opaque; closed shadow roots can only be inferred from repeated focus. FocusPath cannot inspect their internal controls. It does not certify WCAG conformance, compare both directions automatically, or fully cover platform differences and focus-indicator contrast. Read the evidence contract, schema and privacy notes.

FocusPath browserReady

Waiting for a URL

One report. The observed route.

Keyboard order becomes visible.

focuspath / sample report scan complete

A real browser, not a checklist

Follow the interaction.

Static rules cannot explain the order a keyboard user experiences. FocusPath runs the journey and preserves the evidence.

  1. 01

    Open

    Chromium loads your page at the viewport you choose.

  2. 02

    Traverse

    Each observable focus stop records its element, name, role and position. Total Tab movement is counted separately.

  3. 03

    Explain

    A portable HTML report overlays the path and groups findings.

MIT licensed · built in TypeScript

Make focus visible.

Read the source ↗