🦾 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 CommitandCreate Merge Requesttools, 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.ymlthat prioritizes empathetic communication. - The Flow: A reactive workflow in
flow.ymlthat monitors repository changes and triggers specific toolsets for remediation. - The Tools: We integrated built-in GitLab tools including
read_file,create_commit, andcreate_merge_requestto 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
Log in or sign up for Devpost to join the conversation.