Skip to content

Elizabeth1979/visua11y

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Visua11y: AI-Powered Accessibility Chrome Extension

Visua11y is a Chrome extension that leverages AI to make the web more accessible for people with disabilities. Currently in Phase 1 development, it provides smart text summarization to help users quickly understand long or complex content.

πŸš€ Current Status (Phase 1 Complete)

βœ… What's Working Now:

  • Smart Text Summarization: Right-click selected text β†’ "Summarize with Visua11y"
  • AI Backends: Tries Chrome’s built‑in AI first; falls back to OpenAI if a key is configured
  • Graceful UI: Summary boxes appear near selected text with accessible styling

🎯 Who This Helps Right Now:

  • People with dyslexia or reading difficulties
  • People with ADHD who have trouble focusing on long text
  • People learning English as a second language
  • Anyone who wants to quickly understand long articles

πŸ”„ Recent Improvements:

  • Removed file-based secrets: No packaged config.json; keys live only in extension storage
  • Safer permissions: Dropped debugger permission; TLDR uses chrome.scripting
  • Lean manifest: Only https://api.openai.com/* host permission

πŸ”§ How to Set Up and Use

Installation:

  1. Clone or download this repository
  2. Open Chrome and go to chrome://extensions/
  3. Enable "Developer mode" (toggle in top right)
  4. Click "Load unpacked" and select the project folder
  5. The Visua11y icon should appear in your Chrome toolbar

Ready to Use:

  • If Chrome Built‑in AI summarizer is available, it works out of the box.
  • For consistent results and for TLDR/Layout Analysis, add an OpenAI API key in the popup. See SETUP.md.

How to Use:

  1. Visit any webpage with text
  2. Select/highlight the text you want summarized
  3. Right-click and choose "Summarize with Visua11y"
  4. A summary box will appear near your selected text
  5. Click "Close" to dismiss the summary

πŸ—οΈ Project Structure (For Developers)

πŸ“ File Organization

visua11y/
β”œβ”€β”€ manifest.json              # Extension configuration & permissions
β”œβ”€β”€ background/                # Background processing (the "brain")
β”‚   β”œβ”€β”€ service-worker.js     # Main controller & context menu handler
β”‚   └── ai-manager.js         # AI service coordination (Chrome AI + OpenAI API)
β”œβ”€β”€ content/                   # Web page interaction
β”‚   └── content-script.js     # Displays summaries on web pages
β”œβ”€β”€ popup/                     # Extension status interface
β”‚   β”œβ”€β”€ popup.html           # Simple status window layout
β”‚   └── popup.js             # Status display logic
└── assets/                    # Visual assets & styling
    β”œβ”€β”€ icons/               # Extension icons (16px, 48px, 128px)
    β”‚   β”œβ”€β”€ icon16.png
    β”‚   β”œβ”€β”€ icon48.png
    β”‚   └── icon128.png
    └── styles/              # CSS styling
        β”œβ”€β”€ popup.css        # Settings window styling
        └── summary-box.css  # Summary display styling

πŸ”„ How It Works (Technical Flow)

  1. User selects text β†’ service-worker.js detects right-click menu selection
  2. Menu clicked β†’ Service worker calls ai-manager.js to process text
  3. AI processing β†’ Tries Chrome AI β†’ OpenAI API β†’ Basic fallback (in that order)
  4. Summary created β†’ Service worker sends result to content-script.js
  5. Display β†’ Content script shows styled summary box on the webpage

πŸ€– AI Strategy

  • Primary: Chrome Built‑in Summarizer API (when available)
  • Secondary: OpenAI API (gpt-4o-mini) using your key Note: If neither backend is available, the extension shows a friendly error instead of a heuristic summary.

πŸ“‹ Future Development Plan

Phase 2: Reading & Comprehension Assistance (Week 3-4)

Goal: Enhance text readability and comprehension

Features to implement:

  1. Text Simplification (Using Rewriter API)

    • Rewrite complex sentences in simpler language
    • Adjust reading level (elementary, middle school, etc.)
    • Replace jargon with common terms
  2. Content Enhancement (Using Writer API)

    • Add context explanations for technical terms
    • Generate definitions for complex words
    • Create bullet-point versions of paragraphs

Target Users: People with dyslexia, learning disabilities, non-native speakers


Phase 3: Visual & Navigation Assistance (Week 5-6)

Goal: Help users with visual impairments and navigation difficulties

Features to implement:

  1. Smart Image Descriptions (Using Prompt API)

    • Generate alt-text for images missing descriptions
    • Describe charts, graphs, and infographics
    • Context-aware descriptions based on surrounding content
  2. Page Structure Analysis

    • Auto-generate page outlines and navigation
    • Identify and label page sections
    • Create skip links for better navigation

Target Users: People with visual impairments, screen reader users


Phase 4: Language & Communication Support (Week 7-8)

Goal: Break down language barriers and improve communication

Features to implement:

  1. Real-time Translation (Using Translator API)

    • Translate selected text or entire pages
    • Support for multiple languages
    • Preserve formatting and context
  2. Language Detection & Assistance (Using Language Detector API)

    • Auto-detect page language
    • Offer translation when needed
    • Pronunciation guides for difficult words

Target Users: Non-native speakers, people with hearing impairments who rely on text


Phase 5: Advanced Personalization (Week 9-10)

Goal: Create personalized accessibility profiles

Features to implement:

  1. User Profiles & Preferences

    • Save user accessibility needs
    • Customize AI model responses
    • Remember preferred reading levels and formats
  2. Smart Adaptation

    • Learn from user interactions
    • Automatically apply preferred settings to new sites
    • Suggest helpful features based on content type

Target Users: All users with varying accessibility needs


Phase 6: Integration & Advanced Features (Week 11-12)

Goal: Advanced AI-powered accessibility features

Features to implement:

  1. Form Assistance

    • Auto-fill forms intelligently
    • Explain form requirements in simple language
    • Validate and suggest corrections
  2. Content Organization

    • Create custom reading lists
    • Organize content by difficulty level
    • Generate study guides from web content

Target Users: People with motor disabilities, cognitive impairments


🎯 Technical Implementation Details

Chrome AI APIs to Use:

  • Summarizer API: For content summarization βœ… (Currently implemented)
  • Other APIs (Rewriter, Writer, Translator, Language Detector, Prompt) are planned and not yet implemented.

Current Architecture:

β”œβ”€β”€ manifest.json (Extension configuration)
β”œβ”€β”€ background/
β”‚   β”œβ”€β”€ service-worker.js (Background tasks) βœ…
β”‚   └── ai-manager.js (AI API handling) βœ…
β”œβ”€β”€ content/
β”‚   └── content-script.js (Web page interaction) βœ…
β”œβ”€β”€ popup/
β”‚   β”œβ”€β”€ popup.html (Extension popup) βœ…
β”‚   └── popup.js (Popup logic) βœ…
└── assets/
    β”œβ”€β”€ icons/ (Extension icons) βœ…
    └── styles/ (CSS files) βœ…

Accessibility Standards:

  • WCAG 2.1 AA compliance
  • Screen reader compatibility
  • Keyboard navigation support
  • High contrast mode support

Permissions

  • activeTab, scripting, contextMenus, tabs, storage β€” required for context‑menu actions, injecting the content script, saving keys, and operating on the current tab.
  • Host permissions: https://api.openai.com/* and https://generativelanguage.googleapis.com/* only.

πŸ› οΈ Development Setup

Prerequisites:

  • Chrome browser with developer mode enabled
  • Basic understanding of Chrome extension development

For Developers:

See CLAUDE.md for detailed development commands and architecture guidance.

For Production Deployment:

See PRODUCTION.md for the complete production readiness checklist.


πŸš€ Implementation Strategy

βœ… Week 1-2: Phase 1 - Basic extension setup and summarization (COMPLETE) πŸ“… Week 3-4: Phase 2 - Add text rewriting and simplification features
πŸ“… Week 5-6: Phase 3 - Implement visual assistance features πŸ“… Week 7-8: Phase 4 - Add translation and language support πŸ“… Week 9-10: Phase 5 - Build personalization features πŸ“… Week 11-12: Phase 6 - Advanced features and polish

Each phase builds upon the previous one, allowing for incremental testing and user feedback.

πŸš€ Accessibility-First Design

Why No Setup Required?

  • Lower barriers to adoption: Anyone can use accessibility tools immediately
  • Privacy-focused: Chrome built-in AI keeps data local
  • Cost-effective: Free AI services make accessibility tools available to everyone
  • Reliable: Multiple fallbacks ensure the extension always works

AI Service Architecture

Priority order for AI services:
1) Chrome Built‑in AI (if available)
2) OpenAI API (requires key)
3) Gemini API (optional; key supported in popup)

Benefits

  • No key needed when Chrome AI is available
  • Low‑friction setup via popup for OpenAI/Gemini
  • Reduced permissions and no packaged secrets

πŸ“š Documentation

  • README.md - This file: Project overview, installation, and usage
  • SETUP.md - Detailed API key configuration guide
  • CLAUDE.md - Developer guidance for Claude Code instances
  • PRODUCTION.md - Production readiness checklist (65 items)

About

Visua11y: accessibility helper browser extension

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors