🦾 The Inspiration: Solving the "AI Paradox"

While AI helps us write code faster than ever, it’s becoming easier to overlook the critical, "invisible" details of web accessibility. This creates an AI Paradox: we are accelerating development but unintentionally leaving millions of users with disabilities behind. We built the A11y Advocate to ensure that as we move faster, our web remains open to everyone.

🚀 What it does

The A11y Advocate is a custom, autonomous GitLab Duo Agent that proactively orchestrates the accessibility lifecycle within the SDLC. It moves beyond simple chat-based interaction to take real action:

  • Empathetic Analysis: It identifies accessibility barriers (like missing alt tags or broken keyboard focus) and explains the human impact for disabled users with deep empathy.
  • Autonomous Fixing: Using the Create Commit and Create Merge Request tools, the agent doesn't just flag errors—it provides 1-click patches to fix them.
  • Orchestration: It manages the workflow by autonomously opening Merge Requests (like !7 in our demo) to remediate technical debt without human intervention.

🛠️ How we built it

We leveraged the GitLab Duo Agent Platform by defining custom agent.yml and flow.yml schemas.

  • The Agent: Configured with a specialized persona in agent.yml that prioritizes empathetic communication.
  • The Flow: A reactive workflow in flow.yml that monitors repository changes and triggers specific toolsets for remediation.
  • The Tools: We integrated built-in GitLab tools including read_file, create_commit, and create_merge_request to enable the agent to act as a true digital teammate.

🧠 Challenges we faced

The primary challenge was balancing the agent's autonomy with its communication style. We didn't want a "robot" that just listed errors; we wanted an "advocate" that understood the human side of inclusion. Fine-tuning the system prompts to ensure the agent provided high-quality code fixes while maintaining an encouraging tone for developers was our biggest focus.

💡 What we learned

We learned that the future of the SDLC isn't just "AI-assisted," it’s "AI-orchestrated." By building an agent that can manage its own branch and merge request lifecycle, we saw how much friction can be removed from a team's workflow while simultaneously raising the standard for inclusive design.

Built With

  • axe-core
  • gemini-cli
  • git
  • gitlab-ci/cd
  • gitlab-duo-agent-platform
  • gitlab-duo-chat
  • html5
  • typescript
  • yaml
Share this project:

Updates