TailNG logo TailNG Docs
Home / News / Accessibility + Distribution
Roadmap A11y Packaging

Migrating TailNG to @angular/aria

First-class accessibility primitives + a Bedrock + Owned distribution strategy for scalable design systems.

In this update
  • Accessibility migration
    TailNG components will adopt @angular/aria primitives for consistent keyboard + screen reader support.
  • Bedrock + Owned
    A new way to distribute TailNG: stable foundations (Bedrock) and faster iteration (Owned).

Why we’re doing this

TailNG is built for large Angular applications. As the component surface grows, accessibility needs to remain consistent, auditable, and hard to regress.

The problems we want to solve
  • ARIA roles/attributes and keyboard interactions drifting across components over time.
  • Focus management patterns implemented differently in different places.
  • Harder a11y QA as the library grows (more custom logic to audit and maintain).

What @angular/aria brings to TailNG

We are adopting @angular/aria as a common foundation for accessibility behavior. The goal is not to “add more attributes”, but to make TailNG’s interactions and semantics reliable and consistent across the entire library.

Consistency
  • Standardized keyboard interactions (where applicable).
  • More consistent focus behavior across overlays, lists, menus, and form controls.
  • Predictable ARIA relationships (labels, descriptions, states).
Auditability
  • Clearer internal a11y contracts per component.
  • Less duplicated accessibility logic.
  • Easier review and regression prevention as new components are added.

This is an ongoing migration and will roll out incrementally component-by-component.

Introducing the Bedrock + Owned strategy

Alongside the a11y migration, we are evolving how TailNG is structured and distributed. The idea is simple: separate the long-term stable foundation from the higher-velocity layer.

Bedrock

The stable foundation: accessibility primitives, interaction contracts, and minimal building blocks. Bedrock is designed to be hard to break and safe for long-term adoption.

  • Accessibility-first behavior
  • Predictable focus/keyboard patterns
  • Minimal styling surface
  • Stable primitives for composition
Owned

The TailNG-owned layer: ergonomic components, slots-based micro styling, and theme-driven UX defaults. Owned can iterate faster while staying compatible with Bedrock.

  • TailNG component ergonomics
  • Slots-based micro styling
  • Token-based theme defaults
  • High-level components and patterns
What this means for teams
  • Stability: rely on Bedrock for durable contracts.
  • Velocity: adopt Owned for productivity and richer UI.
  • Customization: slot-level control without forking components.

What changes for app developers

Expected improvements
  • Better keyboard navigation consistency across components.
  • More reliable screen reader behavior.
  • Cleaner internal APIs for focus + ARIA handling.
Possible adjustments
  • Some DOM roles/attributes may change as semantics become stricter.
  • Focus order may become more intentional/correct in overlays and lists.
  • Some legacy patterns may be deprecated in favor of a11y-first APIs.

We’ll document each notable behavior change in release notes as components migrate.

Rollout approach

This migration will be delivered incrementally, so teams can adopt improvements without a big-bang rewrite. We’ll prioritize foundational primitives first, then move upward through form controls and navigation.

Planned order
  • Overlay and focus primitives
  • Option list / listbox-like behaviors
  • Form controls (autocomplete, select, date/time pickers)
  • Navigation components (menu, tabs, etc.)

Links

If you find an accessibility issue, please report it with steps to reproduce and expected behavior.