keyboard-focus-invariants

Test WCAG 2.1.1 keyboard focus invariants on live web pages.

6|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/markacianfrani/armor --skill keyboard-focus-invariants
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: keyboard-focus-invariants
Source: https://github.com/markacianfrani/armor/tree/main/skills/keyboard-focus-invariants
Command: npx skills add https://github.com/markacianfrani/armor --skill keyboard-focus-invariants

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill addresses the difficulty of manually verifying keyboard accessibility by providing a fuzzy, property-based testing framework that identifies common navigation bugs without requiring brittle, hard-coded element selectors.

Core Features & Use Cases

  • Invariant-Based Testing: Validates core accessibility properties like focus existence, progression, reversibility, and loop prevention.
  • Boundary Awareness: Intelligently distinguishes between legitimate platform boundaries (like browser chrome) and actual accessibility failures.
  • Use Case: Use this during a UI audit to automatically detect if a modal dialog is leaking focus or if a complex navigation menu has broken tab order, ensuring compliance with WCAG 2.1.1.

Quick Start

Use the keyboard-focus-invariants skill to audit the current page for keyboard accessibility violations and report any focus traps or unreachable elements.

Frequently Asked Questions about keyboard-focus-invariants

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate keyboard accessibility testing for WCAG 2.1.1 compliance?

Automate keyboard accessibility testing by applying fuzzy, property-based invariants to verify focus progression, reversibility, and loop prevention on live web pages without hard-coded selectors.

What is focus invariant testing and how does it detect keyboard navigation bugs?

Focus invariant testing is a property-based method that validates keyboard focus existence, progression, and reversibility to detect navigation failures like focus traps or broken tab order across UI frameworks.

How do I test for focus traps and unreachable elements during a UI audit?

Test for focus traps and unreachable elements by simulating keyboard events to enumerate focusable elements, verifying that focus moves progressively and reversibly without leaking outside UI boundaries.

Do I need Chrome DevTools Protocol to run keyboard focus testing?

Yes, keyboard focus testing requires a browser environment with Chrome DevTools Protocol access or remote debugging capabilities to enumerate focusable elements and simulate keyboard events accurately.

Can I use keyboard accessibility testing across diverse UI frameworks?

Yes, keyboard accessibility testing applies across diverse UI frameworks by using fuzzy invariants rather than brittle selectors, validating tab order and focus management in any web interface.

How does keyboard focus testing handle legitimate platform boundaries versus accessibility failures?

Keyboard focus testing intelligently distinguishes between legitimate platform boundaries like browser chrome and actual accessibility failures, preventing false positives during tab order and focus management validation.