home / skills / harborgrid-justin / lexiflow-premium / accessibility-object-model-integration
/frontend/.github-skills/accessibility-object-model-integration
This skill facilitates programmatic manipulation of the accessibility tree to support complex custom controls in React.
npx playbooks add skill harborgrid-justin/lexiflow-premium --skill accessibility-object-model-integrationReview the files below or copy the command above to add this skill to your agents.
---
name: accessibility-object-model-integration
description: Programmatic manipulation of the accessibility tree to support complex custom controls in React.
---
# Accessibility Object Model (AOM) Integration
## Summary
Programmatic manipulation of the accessibility tree to support complex custom controls in React.
## Key Capabilities
- Manage ARIA live regions for dynamic content updates.
- Implement focus management for complex composite widgets.
- Map semantic relationships using `aria-owns` and `aria-controls`.
## PhD-Level Challenges
- Verify AOM state consistency with the visual DOM.
- Handle accessibility announcements during concurrent updates.
- Test screen reader compatibility across disjoint DOM structures.
## Acceptance Criteria
- Pass WCAG 2.1 AA audits for complex widgets.
- Demonstrate correct screen reader announcements for async loads.
- Provide keyboard navigation flow diagrams.
This skill enables programmatic manipulation of the accessibility tree to support complex custom controls in React. It provides patterns for ARIA live regions, focus management, and semantic mapping so custom widgets behave like native controls. The goal is robust screen reader behavior and WCAG 2.1 AA compliance for composite components.
The skill inspects and updates accessibility-related attributes and AOM state in sync with React component lifecycle events. It manages ARIA live regions for dynamic updates, orchestrates focus and keyboard handling for composite widgets, and maps semantic relationships using aria-owns and aria-controls when DOM structure is disjoint. It also includes testing strategies to verify announcements and state consistency across async updates.
Does this replace semantic HTML?
No. Prefer native elements and semantic HTML first. Use AOM/ARIA mapping only when semantics cannot be expressed in the DOM.
How do I test screen reader announcements?
Combine automated checks that assert aria text and AOM state with manual testing using popular screen readers across browsers and assistive tech configurations.
When should I use aria-owns?
Use aria-owns when a logical parent-child relationship cannot be represented in the DOM, such as when rendering controls in portals or separate subtrees.