Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Accessible Components in Angular: Angular Aria, CDK a11y, Material and Not Writing Your Own Combobox
For complex widgets like a combobox or tabs, the order is: native element, then Angular Material, then headless Angular Aria (stable since 22.0.0), and CDK primitives last. We add search suggestions and book tabs to Bookstore with Angular Aria, measure the three decisions and the hidden-panel CSS the library leaves to us, and show that Signal Forms does not write aria-invalid before wiring up the error connection.
Component Harnesses: Using CDK Harnesses, Writing Your Own and Decoupling Tests from Markup
A component harness puts an API between the test and the DOM: when the markup changes, only the harness changes, not the tests. On Bookstore we show Angular Material's select and dialog harnesses, documentRootLoader and the animation setting, our own harness with HarnessPredicate for RatingInput, and when to choose a harness or Testing Library, all with real runs.