Project Info
This project did not submit a demo video on Devpost.
Inspiration
Experience working as a Accessibility/Search Engine Optimization Specialist for Web Design. I was tasked to fix alternative text and text hierarchy and realized that old websites did not have accessibility top of mind. I knew they were issues for people who were low vision/blind, deaf, or had a hard time navigating websites that are not made with accessibility in mind.
What it does
The goal of this AI Design Assistant intends on giving advice to UI/UX designers on what to consider during their website building phase.
How we built it
I built a chrome extension that is connected to a Gemini API for a LLM to take screenshots of parts of the website to give advice on what needs improvement, following WCAG Requirements, UX Critique with the POV of a senior designer, and branding auditing.
Challenges we ran into
Had difficulty figuring out how I could get the AI agent to parse through the html. I would have needed more experience in optimization and parallel computing and API credits. I tried parsing through html, but the queries ran very long and did not load. The goal of parshing would have identified images that did not have associated alt or aria-labels needed for screen readers to identify an image on a webpage. However, for future direction, I believe it could be possible to expand upon this.
Accomplishments we're proud of
Building my first AI Agent ever with the goal of accessibility in mind.
What we learned
The importance of UI, thinking from the perspective of both the user and the designer.
What's next
Maybe expanding by adding screen reader features to help assist blind users!
UI/Web Accessibility Agent - Chrome Extension
An AI-powered Chrome extension that provides real-time design and accessibility feedback on any webpage using Google's Gemini API.
Features
- π¨ Floating Assistant: Draggable, resizable UI that stays on top of any webpage
- π Three Analysis Modes:
- Accessibility (WCAG Focus): Detailed accessibility audit with WCAG 2.1 guidelines
- UX Critique: User experience evaluation and recommendations
- Branding Audit: Brand identity and visual consistency analysis
- π¬ Custom Queries: Ask specific questions about the webpage design
- π± Responsive Design: Works on any screen size
- β‘ Real-time Analysis: Instant feedback using Gemini Vision API
Setup Instructions
1. Prerequisites
- Python 3.8 or higher
- Google Chrome browser
- Gemini API key from Google AI Studio
2. Install Dependencies
cd server
pip install -r requirements.txt
3. Set Up API Key
export GEMINI_API_KEY="your-gemini-api-key-here"
Or create a .env file in the server directory:
GEMINI_API_KEY=your-gemini-api-key-here
4. Start the Server
cd server
python server.py
The server will start on http://localhost:5001
5. Load the Chrome Extension
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
chrome-extensionfolder from this project - The extension should now appear in your extensions list
6. Test the Setup
Run the test script to verify everything is working:
python test_extension.py
Usage
- Load the Extension: After loading the extension, visit any website
- Floating Assistant Appears: A floating assistant will appear in the top-right corner
- Choose Analysis Mode: Select from the dropdown:
- Accessibility: Get WCAG 2.1 compliance feedback
- UX Critique: User experience recommendations
- Branding Audit: Brand identity analysis
- Get Feedback: Click "Get Design Suggestion" to analyze the current page
- Custom Questions: Use the text area to ask specific questions about the design
- Drag & Resize: Move the assistant around and resize it as needed
Analysis Modes
Accessibility (WCAG Focus)
Provides detailed accessibility audit including:
- Color contrast issues
- Keyboard navigation problems
- Screen reader compatibility
- ARIA attribute recommendations
- HTML/CSS implementation details
- WCAG 2.1 guideline references
UX Critique
Evaluates user experience aspects:
- Layout consistency
- Navigation flow
- Interactive elements
- Visual appeal
- Mobile responsiveness
Branding Audit
Analyzes brand identity:
- Color scheme consistency
- Typography hierarchy
- Visual elements
- Brand voice and tone
- Recognition and memorability
File Structure
slide_accessibility_checker/
βββ chrome-extension/
β βββ manifest.json # Extension configuration
β βββ background.js # Background service worker
β βββ assistant.js # Content script for floating UI
β βββ assistant.css # Styles (if separate)
β βββ assistant.html # HTML template (if separate)
β βββ icon.png # Extension icon
βββ server/
β βββ server.py # Flask server with Gemini API
β βββ prompts.py # AI prompts for different modes
β βββ requirements.txt # Python dependencies
β βββ logging_config.py # Logging configuration
βββ test_extension.py # Setup verification script
βββ README.md # This file
Troubleshooting
Extension Not Loading
- Check that all files are in the
chrome-extensionfolder - Verify
manifest.jsonis valid JSON - Check Chrome's extension page for error messages
Server Connection Issues
- Ensure the server is running on port 5001
- Check firewall settings
- Verify the API key is set correctly
API Errors
- Check your Gemini API key is valid
- Verify you have sufficient API credits
- Check the server logs for detailed error messages
Floating Assistant Not Appearing
- Refresh the webpage after loading the extension
- Check browser console for JavaScript errors
- Ensure the extension is enabled
API Usage and Credits
The extension uses Google's Gemini Pro Vision API. To check your API usage:
- Go to Google AI Studio
- Check your usage dashboard
- Monitor your quota and billing
Development
Adding New Analysis Modes
- Add the mode to
server/prompts.py - Update the dropdown in
chrome-extension/assistant.js - Test the new mode
Customizing Prompts
Edit server/prompts.py to modify the AI prompts for each analysis mode.
Styling Changes
Modify the CSS in chrome-extension/assistant.js to change the appearance of the floating assistant.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
License
This project is open source and available under the MIT License.
Support
If you encounter issues:
- Check the troubleshooting section above
- Run
python test_extension.pyto diagnose problems - Check the server logs for detailed error messages
- Open an issue on the repository with detailed information
Option 1: Chrome Web Store (Recommended for Public Sharing)
1. Prepare Your Extension:
# Create a ZIP file of your chrome-extension folder
cd chrome-extension
zip -r ../design-assistant-extension.zip *
2. Chrome Web Store Process:
- Go to: Chrome Web Store Developer Dashboard
- Sign in with your Google account
- Pay one-time fee: $5 USD registration fee
- Upload your ZIP file
- Fill out store listing:
- Extension name: "Floating Design Assistant"
- Description: "AI-powered design and accessibility feedback tool"
- Screenshots/videos of your extension in action
- Privacy policy (required)
3. Store Listing Requirements:
- High-quality screenshots (1280x800px)
- Detailed description of features
- Privacy policy (since you're using AI APIs)
- Clear usage instructions
Option 2: Direct Sharing (For Developers/Technical Users)
1. Create a GitHub Repository:
# Initialize git repository
git init
git add .
git commit -m "Initial commit: Floating Design Assistant Chrome Extension"
# Create GitHub repo and push
# (You'll need to create the repo on GitHub first)
git remote add origin https://github.com/yourusername/design-assistant-extension.git
git push -u origin main
2. Create Installation Instructions:
Create a README.md with:
# Floating Design Assistant Chrome Extension
## Installation (Developer Mode):
1. Download this repository
2. Open Chrome β chrome://extensions/
3. Enable "Developer mode"
4. Click "Load unpacked"
5. Select the `chrome-extension` folder
6. Set up the server (see server/README.md)
Option 3: Self-Hosted Distribution
1. Package for Distribution:
# Create a distribution package
mkdir distribution
cp -r chrome-extension distribution/
cp -r server distribution/
cp README.md distribution/
cp test_extension.py distribution/
cp check_api_credits.py distribution/
# Create installation script
echo '#!/bin/bash
echo "Installing Floating Design Assistant..."
cd server
pip install -r requirements.txt
echo "Installation complete! See README.md for setup instructions."
' > distribution/install.sh
chmod +x distribution/install.sh
2. Share the Package:
- Upload to Google Drive, Dropbox, or similar
- Share the download link
- Include setup instructions
π Important Considerations:
Privacy & Security:
- API Key Management: Users need their own Gemini API key
- Privacy Policy: Required for Chrome Web Store
- Data Handling: Explain what data is processed
Documentation:
- Setup Guide: How to get API key and start server
- Usage Instructions: How to use the extension
- Troubleshooting: Common issues and solutions
Legal:
- Terms of Service: Usage terms
- Privacy Policy: Data handling practices
- Attribution: Credit for AI services used
π― Recommended Approach:
- Start with GitHub (Option 2) for developer sharing
- Create comprehensive documentation
- Get user feedback and improve
- Then publish to Chrome Web Store (Option 1) for public access
Would you like me to help you create any of these distribution packages or documentation?
Analysis
View
Metric
- 3
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
5 of 5 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
46 KB
Source files
10
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
sjswee31/ui-web-accessibility-agent
14 files Β· 71 KB Β· @ 92f4568
Structure
Interface
2 files Β· 14%Screens, components and styles rendered to the user.
Application logic
8 files Β· 57%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here β open the file browser to check anything the diagram implies.
Languages
- Python41%
- JavaScript38%
- Markdown19%
- HTML1%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi Β· 5- flask
- flask-cors
- google-generativeai
- Pillow
- python-dotenv
Declared in the repositoryβs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectβs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.