complex-widget-pattern-audit

Audits custom composite widgets for coherent ARIA semantics, keyboard interaction, focus, and announcements.

Updated Jul 7, 2026
One-click install
npx skills add https://github.com/vmitsaras/Agent-Skills --skill complex-widget-pattern-audit-vmitsaras
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: complex-widget-pattern-audit
Source: https://github.com/vmitsaras/Agent-Skills/tree/main/skills/frontend-a11y/complex-widget-pattern-audit
Command: npx skills add https://github.com/vmitsaras/Agent-Skills --skill complex-widget-pattern-audit-vmitsaras

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Custom composite widgets like comboboxes, trees, grids, menus, and command palettes often mix incompatible interaction patterns, leaving keyboard and screen reader users with broken or confusing experiences. This Skill audits each widget against its intended native HTML or ARIA pattern to find contract-level failures, not just isolated attribute mistakes. ## Core Features & Use Cases - Pattern Classification: Identifies the intended interaction pattern (combobox, listbox, tree, grid, menu, tablist, carousel, date picker, and more) and flags mixed or unsupported patterns. - Full Interaction Audit: Reviews computed roles, names, states, keyboard behavior, focus models (roving tabindex vs aria-activedescendant), selection, activation, and live-region announcements as one coherent contract. - Structured Findings: Produces deduplicated findings with severity, confidence, evidence-based WCAG mappings, and a reproducible runtime and assistive-technology validation queue. - Use Case: A design-system team ships a custom combobox with a grid popup. Use this Skill to verify the popup role, keyboard model, focus ownership, and announcements all follow one coherent pattern, and to generate the exact screen reader test steps needed to confirm remaining risks. ## Quick Start Use the complex-widget-pattern-audit skill to review this custom combobox component's semantics, keyboard behavior, focus model, and announcements against its intended ARIA pattern.

Frequently Asked Questions about complex-widget-pattern-audit

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

FAQPage Schema
How do I audit a custom combobox for accessibility?▼

Identify the intended pattern first: an editable or select-only input with a listbox, grid, tree, or dialog popup. Then verify the popup association, autocomplete behavior, keyboard model, focus ownership, and value-commit behavior all match that one pattern, and run keyboard and screen reader tests to confirm.

What is the difference between roving tabindex and aria-activedescendant?▼

Roving tabindex moves DOM focus between items, keeping exactly one item tabbable. With aria-activedescendant, DOM focus stays on the owning element while an attribute references the active item. A widget should use one coherent strategy per interaction context, not mix them.

When should I use native HTML instead of a custom ARIA widget?▼

Prefer native HTML whenever a native select, button, disclosure, or link list can meet the product requirement. Custom composite widgets should only replace native controls when a documented requirement justifies it, because they carry a significant keyboard and assistive-technology validation burden.

Does this audit replace screen reader testing?▼

No. Source review can establish intended roles and event handling, but keyboard behavior, computed semantics, and spoken announcements require runtime, accessibility-tree, and assistive-technology testing. The audit outputs a validation queue with exact setups, steps, and expected results for those tests.

Is a deviation from the ARIA Authoring Practices Guide a WCAG failure?▼

Not automatically. The Authoring Practices Guide is informative pattern guidance, while WCAG is the normative standard. A pattern deviation only maps to a WCAG criterion when evidence shows it causes a real failure for users.

What are the limitations of a source-only widget accessibility review?▼

Source code alone cannot establish computed roles, actual key behavior, focus movement, or spoken output. Without a running interface, findings on keyboard interaction, focus, and announcements must be marked as needing runtime validation rather than confirmed.