aria-patterns
ARIA Accessible Component Patterns
This skill provides deep, practical knowledge about accessible UI component patterns based on the WAI-ARIA Authoring Practices Guide (APG).
Why this skill exists
LLMs already know the ARIA spec reasonably well. What they often get wrong is the gap between spec and reality:
role="tooltip"has 3/33 MUST support on a11ysupport.io — it's essentially deadaria-modal="true"is not supported by TalkBack, Narrator, or Orca — your modal isn't actually modalaria-autocompletehas 11/55 MUST support — screen readers mostly ignore itaria-errormessagehas ~20% MUST support — designed for form errors but AT ignores it; usearia-describedbyinsteadaria-relevantis completely broken for ANY non-default value —"additions"alone has 0/11 full support (NVDA ZERO on all browsers — stops announcing entirely);"text"alone also 0/11 (Narrator, VoiceOver iOS/macOS = none);"removals"2/11 (VoiceOver only); the default"additions text"is the ONLY value that works (11/11)aria-controlsnavigation works only in JAWS — other screen readers don't expose itrole="menu"is for application commands, not site navigation — this is the #1 ARIA misusearia-busy="true"is supposed to suppress live region updates but only JAWS supports it — every other screen reader ignores itaria-live="assertive"does NOT interrupt in JAWS — the most-used desktop screen reader queues it insteadaria-detailshas 7/11 MUST support — VoiceOver (macOS + iOS), Narrator, and TalkBack completely ignore it; usearia-describedbyas primary link to descriptionsaria-activedescendantis completely unsupported for combobox on VoiceOver macOS/Safari — it works for menus but combobox options are invisible; use DOM focus (roving tabindex) instead
More from weaaare/a11y-agents-kit
figma-a11y-audit
>
9rstest
Expert guidance for writing, configuring, and running tests with Rstest — the Rspack-powered. JavaScript/TypeScript testing framework with Jest-compatible APIs and native ESM/TypeScript support. Covers setup, configuration (rstest.config.ts), mocking (rs.mock, rstest.fn, rstest.spyOn), fake timers, snapshots, DOM testing (jsdom/happy-dom), Browser Mode (Playwright), React/Vue component testing, code coverage (istanbul), multi-project testing, in-source tests, and integration with Rsbuild/Rslib via official adapters (@rstest/adapter-rsbuild, @rstest/adapter-rslib). Use this skill whenever the user mentions "rstest", "@rstest/core", is writing or debugging tests in an Rspack/Rsbuild/Rslib project, migrating from Jest or Vitest to Rstest, or needs help with any testing workflow that involves the Rstack ecosystem. Also trigger when the user asks about mocking with rs.mock, configuring test environments, or setting up browser-based testing with @rstest/browser.
2find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
2skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
2typescript-expert
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling.
2