recursica-skill-live-regions

Defines house rules for announcing dynamic content changes to assistive technology in web applications.

1|Updated May 29, 2026
One-click install
npx skills add https://github.com/borderux/recursica-knowledge --skill recursica-skill-live-regions-borderux
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: recursica-skill-live-regions
Source: https://github.com/borderux/recursica-knowledge/tree/main/skills/design-rules/recursica-skill-live-regions
Command: npx skills add https://github.com/borderux/recursica-knowledge --skill recursica-skill-live-regions-borderux

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When content changes on a page without a reload, developers often don't know whether the change must be announced to screen readers, who should announce it, or at what priority. This Skill provides a clear decision test and house rules so accessibility announcements are correct by construction rather than caught by testing. ## Core Features & Use Cases - Announcement decision test: New content and new interactive elements are announced; purely visual state changes are not; changes the user did not cause are announced. - Responsibility rules: Components announce for themselves, the application covers what falls between components, and a toast always carries its own announcement. - Priority and volume guidance: Assertive is reserved for errors and urgent conditions, everything else is polite, with debouncing and coalescing per established practice. - Use Case: When a filter updates a result count or a region reloads in place, apply the test to decide whether and how the change is announced to assistive technology. ## Quick Start Use the live regions skill to decide whether this dynamic content update needs an aria-live announcement and at what priority.

Frequently Asked Questions about recursica-skill-live-regions

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

FAQPage Schema
How do I decide if a content change needs a screen reader announcement?▼

Apply the announcement test: new content and new interactive elements are always announced, while purely visual state changes are not. Changes the user did not cause are also announced because the user has no reason to expect them.

When should I use assertive vs polite aria-live priority?▼

Assertive is reserved for errors and conditions the user must know immediately because it interrupts whatever the user is reading. Everything else, including confirmations, result counts, and status updates, uses polite priority which waits for a natural break.

Should a toast notification also have a separate live region announcement?▼

No, a toast always carries its own announcement and nothing else should duplicate it. Whatever statement the toast makes is the announcement, so adding a separate live region would create redundant output.

Who announces dynamic changes, the component or the application?▼

Every component is responsible for announcing itself, and you must supply what it needs such as accessible names or counts. The application announces only what falls between components, such as a flow that succeeds silently and navigates away.

Should a filtered result count be announced on every keystroke?▼

No, a filtered result count is announced when the filter is applied, not while the user types toward it. Rapid repeated updates should be debounced and coalesced into a single announcement per established accessibility practice.

What accessibility concerns are out of scope for live region rules?▼

A component's accessible name, keyboard behavior, and focus management are owned by each component skill, not live region rules. Semantic markup, reading order, and which messaging channel to use are also covered by separate skills.