Angular xây accessible component qua: semantic HTML, ARIA attributes, và @angular/cdk/a11y (stable) — bộ utility a11y dùng phổ biến trong production.
Các tool chính của CDK a11y:
- FocusTrap (cdkTrapFocus) — giữ focus trong modal/dialog, không cho tab ra ngoài.
- LiveAnnouncer — đọc thông báo động cho screen reader (announce("Đã lưu")).
- FocusMonitor — theo dõi focus đến từ chuột/bàn phím/programmatic để style khác nhau.
- cdkAriaLive, A11yModule cho keyboard navigation list (ListKeyManager).
constructor(private announcer: LiveAnnouncer) {}
save() { this.announcer.announce("Đã lưu thành công", "polite") }Lưu ý 2026: Angular đang phát triển package @angular/aria (experimental) — headless directives cho WAI-ARIA pattern (toolbar, tabs, listbox...) — đáng theo dõi nhưng production hiện vẫn dùng CDK a11y + semantic HTML.