Spectrum

Spectrum
Accessibility-first eCommerce Case Study
BSc (Hons) Software Engineering · Final Year Project

Spectrum

An online store designed so the 1-in-12 men who can't fully trust the colours on a screen can still shop with confidence — by never letting colour be the only thing that carries meaning.

Scroll
Ink#0A0B0D
Azure · safe#3D8BFF
Amber · safe#F5A524
Bone#F2F0EB
01Project Brief
Timeline
Sep 2019 — May 2020
~8 months
Type
Academic research
& working prototype
Role
Sole designer–developer
& researcher
Contribution
UX research · Accessibility · UI design · Front-end build · Usability testing

A storefront where colour informs but never decides.

Most websites are built as if everyone sees colour the same way. They lean on red and green to signal meaning, name products "Damson" or "Sunstreak Yellow," and hide colour filters behind unlabelled swatches. For someone with a colour-vision deficiency, that turns a simple purchase into guesswork — or a phone call to someone who can see the difference.

Spectrum is my investigation into a single question: does designing for colour-blind users measurably improve how usable an eCommerce site is? I researched the condition, ran a survey and interviews with colour-blind shoppers, distilled the literature into concrete rules, and built a functioning store that follows every one of them.

What I set out to answer

Research questions
01
How do colour-blind shoppers actually experience an online store?

Where exactly does a purchase break down when colour can't be trusted?

02
Which design rules genuinely move the needle on real-world usability?

Separating evidence-based practice from accessibility folklore.

03
Can a single storefront serve both colour-blind and standard vision at once?

Without looking clinical, broken, or "for disabled people only."

8% of men and 1 in 200 women can't fully trust the colours they see online.

02·01The state of colour on the web

Colour blindness rarely means seeing in grey. It's a reduced ability to tell certain colours apart — most often red from green, because the cones that detect them overlap. It's inherited, permanent, and far more common than designers assume. Yet web accessibility law still doesn't formally count it as a visual impairment.

8%
of the world's male population has colour-vision deficiency.
1 in 12
men affected — versus roughly 1 in 200 women
99%
of all CVD is red–green, the exact pair the web relies on for meaning
58.6%
of my survey respondents had hit colour problems buying online
02·02What if shopping never depended on colour?

Four principles became the spine of every decision.

Readable

Body text and links sit at a contrast ratio that holds up for low-vision and CVD users alike — never trendy low-contrast grey-on-grey.

Labelled

Every colour swatch and filter carries its name in plain words. "Light pink," not an unlabelled pink dot.

Redundant

Meaning is coded twice — colour plus an icon, asterisk, position, or text — so no single channel is load-bearing.

Minimal

A small, deliberately CVD-safe palette. The fewer colours in play, the less there is to confuse.

02·03Two decades of standards

Twenty years of WCAG — and barely a paragraph of new guidance on colour.

1999

WCAG 1.0

Sets the core rule: information must not be conveyed by colour alone.

2008

WCAG 2.0

A major rewrite — yet on colour it largely restates 1.0.

2018

WCAG 2.1

Adds one new colour criterion: a 3:1 contrast minimum for UI components.

02·04Where existing stores sit

Benchmarking the big stores against two axes that matter.

HIGH CONTRAST LOW CONTRAST COLOUR-ONLY CUES REDUNDANT CUES Walmart — names products well eBay — colour filters unlabelled AliExpress Spectrum
The field
Even careful retailers cluster mid-table — strong in one dimension, weak in the other. Walmart names colours but uses red/green cues; eBay's swatches have no labels at all.
Spectrum's target
Redundant cues and high contrast together — the under-served top-right quadrant.
02·05Who I designed for

A survey of 29 people and three interviews gave the work a face.

R

"Ravi" · composite persona

Software engineer · red-green CVD
Vision
Deuteranomaly since childhood — struggles most with dark green vs dark brown.
Frustration
Complex, multi-colour UIs and made-up colour names he's never heard of.
Workaround
Asks his wife to confirm a colour, or avoids buying anything colour-specific.
Wants
The colour written in plain text, and pictures he can actually read.

"Colours are confusing so I give up."

Survey respondent · open response

"Colour of the item isn't always in the description. Or the name is something creative like 'champagne' — not gold or light blue."

Survey respondent · open response

"I might need to get my wife to confirm a colour if it's in the dark green / dark brown range."

Survey respondent · open response

"Referring to the actual name of the colour is very helpful — an indication of the particular shade would be fantastic."

Survey respondent · what would help

A colour-accessible storefront — built for everyone, not a separate "accessible mode."

03The solution · see it as your users do

The palette is the proof. Switch on a deficiency and watch what survives.

Colour-only · red / greencollapses ↘
Sold outcolour = meaning
In stockcolour = meaning
Nomad Browninvented name
Olivaceousinvented name

Under red-green colour-vision deficiency, these four colours begin to flatten toward one another, making visual distinctions far less obvious. What may appear instantly recognizable to most users can become ambiguous or even indistinguishable. Without labels or supporting cues to provide context, status indicators such as “in stock” and “sold out” can become a matter of guesswork, turning a simple decision into a frustrating coin toss and increasing the likelihood of user errors.

Spectrum · safe + labelledholds ↗
Azure#3D8BFF
Amber#F5A524
Slate#2C3440
Bone#E9E7E1
Required * Colour: Light Pink ✓ named

The azure/amber pair stays distinct across every deficiency — and even if it didn't, the written names and the "*Required" tag carry the meaning on their own.

ScreensThe interface — the moves in the wild

What the rules look like once they're wired into a real storefront.

The original store is a PHP / CodeIgniter build from 2019–20, so rather than dredge up dated screenshots I've rebuilt the key views as annotated wireframes — same structure, same copy, same colour-accessible palette. Numbered pins tie each screen back to the design moves below.

01 · Home & storefront

Landing · discovery
spectrum.store
Wireframe
Spectrum
♡ Saved
Cart · 2
ApparelHomeArt & printsDigitalAudio
New season
Apparel that says its colour out loud.
Shop apparel
Digital goods
Audio & music
Browse by categorySee all →
Apparel
Home
Art & prints
Digital
Audio
Promoted this week 1See all →
Promoted
Knit crew — dark blue
Atelier Foss
★★★★★(19)
$52In stock
Promoted
Amber field cap
Hemlock Goods
★★★★☆(11)
$18In stock
Bone-white overshirt
Atelier Foss
★★★★★(37)
$71In stock
1

Redundant coding
"Promoted" is a word, not a wash. Sponsored cards are marked with a text badge — a subtle colour tint alone would disappear for some shoppers.

2

Move 06
Minimal palette, everywhere. The whole store runs on two CVD-safe accents — azure and amber — over neutrals. Fewer colours, fewer ways to be misread.

02 · Catalogue & filters

Product listing · sidebar filters
spectrum.store / apparel
Wireframe
Spectrum
♡ Saved
Cart · 2
ApparelHomeArt & printsDigitalAudio
Home  /  Apparel
Apparel
Sort: Most recent ▾
Colour: Light pink Price: under $50
Relaxed linen shirt
Nord Supply Co.
★★★★☆(41)
$38In stock
Knit crew — dark blue
Atelier Foss
★★★★★(19)
$52In stock
Cotton tee — light pink
Rill Studio
★★★★☆(63)
$22Sold out
Wide-leg trouser
Nord Supply Co.
★★★★☆(28)
$64In stock
Amber field cap
Hemlock Goods
★★★☆☆(11)
$18In stock
Bone-white overshirt
Atelier Foss
★★★★★(37)
$71In stock
1

Moves 01 · 02
Colour filters are named. Each option pairs a swatch with its common colour name — "Light pink," "Dark blue" — so the label carries the meaning, not the dot.

2

Redundant coding
Stock is never colour-only. "In stock" and "Sold out" read as text with a tick/cross, so availability survives any kind of colour vision.

03 · Product detail

Single product · buy flow
spectrum.store / apparel / knit-crew-dark-blue
Wireframe
Spectrum
♡ Saved
Cart · 2
product photo · shown in Dark blue
View photo as 2
Knit crew — dark blue
by Atelier Foss
★ 4.9♡ 214👁 1,204
$52.00
ColourDark blue1
ConditionNew
MaterialMerino wool
Uploaded3 days ago
Add to cart ♡ Add to favourites
1

Move 01
The colour is spelled out. "Dark blue" sits in the product facts as plain text — not "Midnight," not a bare swatch a shopper has to decode.

2

Move 05
Preview through your own vision. The photo can be re-viewed through each deficiency — try the toggle; the same CVD filters from the simulator run live on the image.

04 · Image adjustments

Product photo · self-serve filters
spectrum.store / apparel / knit-crew-dark-blue
Wireframe · live
Spectrum
♡ Saved
Cart · 2
product photo · adjust it live with the controls →
Adjust this photo 1

Nine independent controls — desaturate a busy shot, push contrast, or rotate the hue to separate two colours that read the same to you.

Blur0 px
Brightness100 %
Contrast100 %
Grayscale0 %
Hue‑rotate 20 deg
Invert0 %
Opacity100 %
Saturate100 %
Sepia0 %
changes are per-shopper · nothing is saved
1

Move 05
The dial is handed to the shopper. Where the product page offers three fixed CVD previews, this is nine continuous, combinable controls — each person re-processes the photo to whatever their own vision needs, not a preset someone chose for them.

2

Redundant coding
Every setting is a number, not a position. Each control states its value as text — "Grayscale 40%" — right next to its handle, so the tool never depends on reading a slider's spot or a colour alone.

05 · Ratings & reviews

Social proof · product detail
spectrum.store / apparel / knit-crew-dark-blue #reviews
Wireframe
4.9
★★★★★
based on 214 reviews
5 ★184
4 ★24
3 ★4
2 ★1
1 ★1
1
R
Ravindu P.
★★★★★ 5.02 weeks agoVerified purchase
Finally a listing that just says "dark blue." I didn't have to ask anyone to check the colour for me before buying.
M
Maya T.
★★★★★ 5.01 month agoVerified purchase
Fit is true to size and the colour matched the name exactly. The photo preview tool is a lovely touch.
D
Dinesh W.
★★★★☆ 4.01 month agoVerified purchase
Great knit. Would've liked one more size option, but no complaints on quality.
Write a review
Your rating ★★★★ 4 / 5
Share what worked — fit, colour accuracy, quality…
Post review
1

Redundant coding
Stars never travel alone. Every rating carries the numeral beside it — 4.9, 5.0, 4.0 — so the score is readable without depending on the gold fill.

2

Move 04
Legible distribution. The rating bars use one high-contrast azure fill on a neutral track, and every row is labelled with its count in text.

06 · Seller shop

Profile · seller storefront
spectrum.store / profile / atelier-foss
Wireframe
Spectrum
Cart · 2
A
Atelier Foss
4.9128 products1.4k followersJoined 2019
ProductsReviewsFollowersAbout
Knit crew — dark blue
$52
★★★★★(19)
In stock
Bone-white overshirt
$71
★★★★★(37)
In stock
Slate-grey scarf
$29
★★★★☆(8)
Sold out
Cotton tee — light pink
$22
★★★★☆(63)
In stock
Amber field cap
$18
★★★☆☆(11)
In stock
Wide-leg trouser
$64
★★★★☆(28)
In stock
1

Move 01
The colour rides in the title. Even in a dense seller grid, "dark blue," "light pink," "slate-grey" live in the product name — not just the thumbnail.

2

Redundant coding
Seller trust reads in text. The shop's 4.9 rating sits as a numeral next to the star, and stock still shows as a word on every card.

07 · Checkout & forms

Shipping details · validation
spectrum.store / cart / shipping
Wireframe
Spectrum
Cart · 2
Shipping details
Full name Required *
Ishanka Munasinghe
✓ Looks good
Address line 1 Required *
14 Temple Road
City & postcode Required *
Kandy
2000
! Enter a valid postcode 1
Phone Optional
+94 …

Order summary

Knit crew — dark blue$52.00
Cotton tee — light pink$22.00
Shipping$6.00
Total$80.00
Continue to checkout
1

Move 03
No colour-only forms. Required fields carry a "Required *" text tag, and errors pair an icon and a message with the amber outline — so the colour only ever reinforces, never decides.

2

Move 04
High-contrast throughout. Dark text on a bone surface, generous label sizing, and an azure primary action keep the whole flow legible for low-vision users too.

08 · List a product

Seller · create listing
spectrum.store / sell
Wireframe
Spectrum
♡ Saved
Cart · 2
Product type
Physical
Ships to the buyer
Digital
Instant download
Details
Title Required *
Knit crew — dark blue
Category Required *
Apparel › Knitwear
Colour 1
Dark blue Light pink Amber Slate grey Bone white
Price & stock
Price ($) Required *
52.00
✓ Looks good
Quantity Optional
24
Publish listing

Before you publish

Name the colour in plain words — a buyer with colour-vision deficiency reads "Dark blue," not a swatch.
Upload photos that read clearly in any lighting or vision type.
Write what it is, not a clever product name.
1

Move 01 · owner side
Colour is named at the source. Sellers pick from common colour names when they list, so the accessible label is baked in from the very first step — designing for the shop owner, not just the shopper.

2

Move 03
The listing form is redundant too. Required fields are text-tagged and validation states pair an icon with a message — the same rules the storefront follows.

09 · Your library

Account · downloads & orders
spectrum.store / account / downloads
Wireframe
Spectrum
Cart · 0
I
Ishanka M.
12 purchases4 shops followedMember since 2020
Downloads
Orders
Favourites
Following
Settings
Knit crew — dark blue
Atelier Foss
Purchased
DownloadView order
UI icon pack — vector set
Rill Studio
Purchased
Main filesLicence
Amber field cap
Hemlock Goods
Awaiting payment 1
Complete payment
1

Redundant coding
Order status is text first. "Purchased" and "Awaiting payment" each carry an icon and a word — a red/green dot alone would leave colour-blind buyers guessing where their money went.

2

Move 04
Dashboards get contrast too. The account area holds the same high-contrast type and clear azure actions as the shopfront, so it stays readable for low-vision users.

10 · Order confirmed

Checkout · success state
spectrum.store / order / confirmed
Wireframe
Spectrum
Cart · 0
Order confirmed 1
Order #SPX-20481 · a receipt is on its way to your inbox
01Digital files are ready now — find them under Your library › Downloads.
02Physical items ship in 1–2 days — you'll get tracking by email.
03Everything lives in Your orders if you need it again.
View your orders
1

Redundant coding
Even success doesn't lean on green. The original build used a green-only tick; here the check is paired with the word "confirmed" and the order number, so the outcome is unmistakable without relying on colour.

2

Move 06
Minimal to the end. One icon, one accent, plain next-steps — the calm, low-noise palette carries all the way through the funnel.

The six design moves I shipped
01

Common colour names

Plain "dark blue" or "light pink" over invented marketing names that mean nothing at a glance.

02

Labelled filters

Every colour filter shows its name as text — never a bare swatch the user has to decode.

03

No colour-only forms

Required fields use an asterisk and text, not a red outline that vanishes for CVD users.

04

High-contrast type

Body and link contrast tuned for low vision; no trendy low-contrast greys.

05

On-page image filters

A live tool lets shoppers desaturate, adjust contrast and re-tint product photos themselves.

06

Minimal palette

Two safe accents plus neutrals — fewer colours, fewer chances to confuse.

Built with
PHP · CodeIgniter HTML5 CSS3 Bootstrap 4 jQuery AJAX CSS image filters Adobe Lightroom Adobe Illustrator Adobe Photoshop
04What testing showed

The literature's advice held up — in front of real colour-blind users.

I evaluated Spectrum with two red-green colour-blind engineers and an ophthalmologist, plus the wider survey panel. The colour recommendations from the research measurably improved readability and usability for colour-blind participants — and, critically, didn't degrade the experience for people with standard vision.

Participants singled out the written colour names and the clearer product imagery as the things that finally let them decide for themselves instead of relying on someone else.

The most useful finding

A palette tuned only for colour-blindness can start to read as unprofessional — and a store that looks untrustworthy loses everyone. The real win wasn't "use safe colours," it was never let colour work alone. That keeps the store credible and accessible at the same time.

05Honest reflection

What I'd do with more time

L·01

Sample size

The biggest limitation. Colour-blind participants are hard to recruit, and a global curfew during the build made it harder. The findings replicated across two rounds, but a larger panel would strengthen them.

L·02

Scope of testing

I focused on UI and reading usability. Search, performance and the full checkout deserve their own dedicated accessibility passes.

N·01

Built-in CVD preview

Ship the simulator above as a real store feature, so any shopper can preview a product through their own type of vision.

N·02

A colour-safe theme kit

Package the rules as a reusable theme so other small merchants can be accessible by default.

You've reached the end of the scroll. 👋

The plot thickens
End of case study
Ishanka Munasinghe

Spectrum — a colour-blind friendly eCommerce platform. BSc (Hons) Software Engineering final-year project, Informatics Institute of Technology in collaboration with the University of Westminster.

Set in Space Grotesk, IBM Plex Sans & IBM Plex Mono Palette: a colour-vision-deficiency-safe pair — azure #3D8BFF · amber #F5A524