Keylens v1.0.0
See your site through the lens of keyboard users.
ℹ Starting deterministic Keylens audit for sample-interface-url
ℹ Launching chromium browser...
ℹ Navigating to sample-interface-url
ℹ Preparing page...
ℹ Testing skip link...
ℹ Discovering interactive elements...
ℹ Crawling tab order...
ℹ Verifying roving-tabindex composite widgets...
ℹ Confirming possible missing focus indicators via pixel diff...
✓ Crawl completed in 11758ms
ℹ Running 9 rules...
✓ Keyboard Trap
✗ Unreachable Interactive Elements — 1 violation(s)
✓ Focus Order Mismatch
✓ Tabindex Abuse
✗ Missing Focus Indicator — 1 violation(s)
✗ Skip Link — 1 violation(s)
✓ Focus Not Obscured
✓ Focus After Interaction
✓ Broken Roving Tabindex Navigation
🔍 Keylens v1.0.0 — Keyboard Navigation Audit
────────────────────────────────────────────────────────────
URL: sample-interface-url
Focusable elements: 23
Interactive elements: 24
Unreached: 1
Tab cycle completed: Yes
Duration: 11758ms
────────────────────────────────────────────────────────────
Rules:
✓ keyboard-trap
✗ unreachable-elements — 1 issue(s)
● 1 interactive element(s) are not reachable via keyboard.
└─ section:nth-of-type(3) > form > div
✓ focus-order-mismatch
✓ tabindex-abuse
✗ missing-focus-indicator — 1 issue(s)
● 3 element(s) show no visible change between focused and unfocused states.
└─ section:nth-of-type(2) > div > div:nth-of-type(1) > a
└─ section:nth-of-type(2) > div > div:nth-of-type(2) > a
└─ section:nth-of-type(2) > div > div:nth-of-type(3) > a
✗ skip-link — 1 issue(s)
● No skip navigation link found among the first focusable elements. Keyboard users must tab through all navigation items to reach main content.
✓ focus-not-obscured
✓ focus-after-interaction
✓ roving-tabindex-broken
────────────────────────────────────────────────────────────
Result: 2 error(s), 1 warning(s) — Score: 89/100