Evaluating Angular Aria: Can the Tabs API Survive a Full Visual Rework?

The Angular team describes Angular Aria as a suite of customizable UI patterns that are fully accessible out of the box. That is a bold promise. The real question is whether deep visual customization — the kind that changes a component beyond recognition — can coexist with strict accessibility requirements like robust keyboard navigation and predictable focus behavior.
To test this, we’ll turn to Google Antigravity. Our challenge: take the standard Angular Aria tabs component and restyle it with a neumorphic design language, a look known more for its soft, extruded shadows than its accessibility pedigree.
Why This Experiment?
The official angular.dev documentation shows a handful of visual themes — basic, Material-inspired, and retro — to demonstrate the flexibility of these new accessibility primitives. This experiment goes further.
The task is to evolve the basic tabs example into a fully neumorphic interface. The target design is shown below.
Here is the tab UI before any modifications:

An initial Lighthouse accessibility audit confirms a perfect 100 score prior to any code changes:

Neumorphism often comes under fire for obscuring interactive elements and muddling contrast. This isn’t just a styling exercise; it’s a stress test. We want to see if a coding agent can execute a complex CSS overhaul without silently breaking the Angular Aria tab contract, and whether it can identify and rectify any accessibility regressions that it introduces.
Implementation Strategy
The source CSS is cleanly structured, yet achieving a believable neumorphic effect requires substantial modification. Charting that path by hand is tedious, so we delegate the execution to Google Antigravity’s coding agent.
Below is the exact prompt provided to the agent:
/goal update the tabbed UI to be neumorphic style. The example UI is @example-ui.jpeg and the styles are in @src/app/app.css
Two important details about this approach:
- The agent was given a reference image (
@example-ui.jpeg) to use as a visual benchmark for the target design. - The workflow applies the Google Antigravity
/goalcommand, which signals the coding agent to drive the work autonomously to completion rather than pausing to ask for guidance.
Agent-Led Outcome
Here is the final UI generated in response to the prompt:

The agent delivered the neumorphic look with only a minor structural tweak: it introduced a wrapper div into the HTML template. Crucially, it preserved the underlying Angular Aria tabs pattern intact. We then re-ran the Lighthouse audit. The accessibility score slipped to 95. The culprit? Insufficient contrast between the page background and the text foreground.

A second prompt requests the coding agent to address this exact failing point:
The color contrast fails WCAG accessibility standards, can you fix it so that it does?
The revised UI now shows stronger contrast, a meaningful win for readability.

Not only did the agent correct the contrast issue, but it also generated a concise summary report detailing the updated contrast ratios across the component:

The application scores a perfect 100 on the Lighthouse accessibility check once more.
A Look Forward
The collaboration between Google Antigravity and the Angular Aria APIs reveals a solid workflow for creating accessible yet visually rich applications. While this demonstration focuses entirely on tabs, Angular Aria provides nearly a dozen other accessible component patterns ready for the same treatment.
Ensure you update to the newest releases of both Angular and Google Antigravity to make use of these features.
References & Next Steps
- Angular’s latest release video
- Google Antigravity CLI documentation
- Deeper dive into the Angular Aria package
Customizing Angular Aria Tabs Quickly with Google Antigravity CLI was originally published in Angular Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
