# Accessibility (a11y) & WCAG `@ktbsh/ui` components must be **accessible from the first version**, not bolted on later. ## Target | Aspect / standard | Requirement / target | |-------------------|----------------------| | **WCAG 2.2** | **AA** (minimum for all shipped interactive components) | | **APG patterns** | Follow [WAI-ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/) where a pattern exists (dialog, combobox, tabs, …) | | **Keyboard** | Full operation without a pointer | | **Screen readers** | Correct name, role, value/state; no silent custom elements | **Product copy** (visible labels, error messages, helper text) is the **consumer application’s** responsibility unless a component ships default English chrome by design (then document and keep overridable). This library owns **structure, roles, keyboard, focus, and state exposure**. The SDK only provides platform hooks (`formAssociated`, events). ## Non-negotiable component checklist Every interactive component PR must cover: 1. **Semantics** — correct native element inside shadow when possible (`button`, `input`, `a`); otherwise correct ARIA role + states. 2. **Name** — accessible name via slot text, `