The Accessibility Highlighter finds accessibility problems on a website and highlights them on the page to give a visual indication of what the problems are. It also logs errors to console and annotates the DOM.
- Visual highlighting of accessibility issues on web pages
- Console logging of detected issues
- Easy toggle on/off with browser icon
- Detects common accessibility problems:
- Missing alt text on images
- Form elements without labels
- Buttons and links without accessible names
- Tables without proper headers
- Iframes without titles
- Uninformative text alternatives
- And more...
For detailed installation instructions, see INSTALL.md.
Quick installation:
- Download the latest release or build from source
- Go to Chrome's extension page (
chrome://extensions/
) - Enable Developer Mode
- Click "Load unpacked" and select the extension directory
- Click the extension icon to toggle it on/off
# Install dependencies
npm install
# Run tests
npm test
# Build the extension
npm run build
# Package the extension for distribution
npm run package
Once installed, the extension adds a button to the browser toolbar. When clicked:
- Toggles visual highlighting on the current page
- Updates icon to indicate current state (enabled/disabled)
- Logs detailed accessibility information to the console
The highlighting appears as a red or orange overlay with diagonal stripes on elements with accessibility issues. Each overlay has a data-a11ymessage
attribute that describes the specific issue.
For developers, open the browser console to see detailed information about each issue detected.
This extension's goal is to provide a visual demonstration of accessibility problems. It is not a comprehensive auditing tool. It doesn't find all accessibility errors, and there will be some false positives. Any discussion related to what this does or does not do should be viewed in that context.
This tool is designed as a "sniff test" and for creating presentations, not as a full-featured accessibility auditing tool. We want to prevent users from over-relying on it for formal accessibility testing.
The extension includes both automated and manual tests:
- Jest tests for core functionality
- Manual test page for visual verification
- Real HTML fixtures with passing and failing examples
Run tests with:
npm test
Or use the manual test runner by opening /tests/manual-test-runner.html
in your browser.
PRs are welcome. Please run tests and ensure the extension works properly before submitting.
To contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests (
npm test
) - Submit a pull request
Find something wrong? Have something you'd like to change? Feel free to log an issue. However, please understand that we regard this mostly as a demonstration tool. As a result, issues are likely to remain unaddressed unless the necessary changes are fast and easy or until someone contributes a PR.
ISC