feat: add Color Blindness Simulator tool
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 5
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Summary
Add a color-blindness.html tool that simulates how an image appears to people with different types of color vision deficiency — entirely in the browser using SVG feColorMatrix filters on canvas.
Motivation
Designers regularly need to check their work against color blindness but rarely have a quick browser-native way to do it — most reach for browser extensions or desktop software. This tool makes the check frictionless, requires zero external dependencies, and has both search volume ("color blindness test image", "color blind simulator") and strong shareability among accessibility-conscious design and front-end teams.
Proposed UX
- Drop zone: accepts any PNG / JPEG / WebP image
- 6 simulation views displayed as a responsive grid:
- Original
- Protanopia (red-blind, ~1% of men)
- Deuteranopia (green-blind, ~1% of men)
- Tritanopia (blue-blind, rare)
- Protanomaly (red-weak)
- Achromatopsia (no color — full grayscale)
- Each view has a label and a brief one-line description of what it simulates
- Before/after diff slider (reusing the
.diff-slidercomponent from the design system) between Original and any selected simulation type - Download individual simulated image as PNG
- "What should I check?" collapsed tip section: contrast ratios, avoid red/green only indicators, etc.
Implementation notes
- Category: Image (near
image-converter,image-compressor) - Slug:
color-blindness - Icon:
👁️ - No npm dependencies — each simulation uses a well-known
feColorMatrixcolor matrix (Brettel / Viénot / Machado models, simplified to 3×3 matrix approximations suitable forfeColorMatrix type="matrix") applied via an offscreen<canvas>+ctx.filteror manual pixel manipulation viagetImageData - All logic inline in
<script> - Follow
src/_tool-template.htmland runbun run generate:sections,bun run generate:index,bun run generate:faviconafter adding totools.json
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/_tool-template.html and inspect the nearby image tools, then add the color-blindness tool entry to tools.json. Implement the six browser-based simulation views, diff slider, download controls, and accessibility tips using inline logic, then run bun run generate:sections, bun run generate:index, and bun run generate:favicon. Done means the generated tool is discoverable and each requested simulation works without external dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html, javascript
- Domain
- accessibility, frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100