← All work

Case study · ART 483A · Digital Forest

Can one website work for everyone who visits it?

A clean-energy site I designed from scratch with atomic design, built around one menu that lets each visitor adapt it to how they see and read.

Role
UI/UX Designer
Timeline
16 weeks · Fall 2025, plus a post-class build
Team
Solo (motion graphic with Vale and Myriad)
Tools
Figma, Claude
Digital Forest homepage with the accessibility menu open
Homepage with the accessibility menu open
The Digital Forest homepage with the accessibility menu openClose

01 · The problem

Who gets left out of a clean-energy website? Anyone who can’t adjust it.

ART 483A asked for a website built from scratch with atomic design. I set a harder goal: it should work for every visitor, whatever their ability.

0of 5

sites I audited, four energy leaders plus Apple, gave visitors a way to change how the site looks or reads. A few quietly follow device settings. None hand the visitor a control.

Controls a visitor can useDigital ForestNextEraFirst SolarVestasBrookfieldApple
On-page accessibility menu✓✗✗✗✗✗
Dark mode✓✗✗✗✗✗
Color-blind setting✓✗✗✗✗✗
Reading setting (type and spacing)✓✗✗✗✗✗
Follows device settings✓✗◐◐◐◐

◐ = partly: Apple follows the device's high-contrast setting; First Solar, Vestas and Brookfield reduce motion when the device asks. Digital Forest’s device-settings support came in the later working build. From my Fall 2025 audit, rechecked October 2026. See the full audit ↗

Competitive audit spreadsheet
Part of my competitive audit spreadsheetClose

Before designing a single screen, I had to decide: what would “accessible” actually mean for Digital Forest?

02 · The approach

What would “accessible” have to mean? Three rules I could check every screen against.

RULE 01

Readable contrast

Text and buttons meet WCAG contrast in every mode, not just the default.

RULE 02

Never color alone

Active links get an underline, errors get an icon, success gets a ✓. Not just green.

RULE 03

The visitor decides

No separate “accessible version.” Everyone adjusts the same site.

Sitemap: Home with Who We Are, Services, Products, Explore Solutions and Learn More

I mapped the site before any screens: five sections under Home, planned in a conceptual brief alongside the rules.

Sitemap
The Digital Forest sitemap from my conceptual briefClose

Rules were the easy part. The first real test was the brand: what does a clean-tech logo look like when it has to work at 24 pixels, in every mode?

03 · The identity

What does a clean-tech brand look like at 24 pixels? Still recognizable.

Water-drop leaves growing from one stem, with a pixel trail dissolving off the edge: nature and technology in one mark, built on a circle grid.

The responsive logo set at 148, 72, 48 and 24 pixels, light and dark
  1. AaCaption · 12
  2. AaBody · 16
  3. AaBase · 18
  4. AaSubhead · 22
  5. AaH3 · 24
  6. AaH2 · 32
  7. AaH1 · 40

One typeface, Inter, in seven sizes. I chose it for its tall x-height and open shapes, which stay readable at small sizes.

Logo construction
Logo construction on the circle gridClose
Responsive logo set
The responsive logo set, light and darkClose

Once the logo could adapt, the harder problem was everything else: how do you make six versions of every page without designing six websites?

04 · The system

How do you build six versions without six websites? Swap colors and type, not layouts.

Every page is built from the same atoms, molecules and organisms. A mode only changes their colors, type and motion.

Atom sheet: buttons, icon buttons, inputs, toggles, mode icons, the accessibility menu, navigation states, messages and system icons

Every atom, each shown in its states.

Molecule sheet with cards, stat blocks, navigation, accessibility menu and footer

The molecule sheet.

Organism sheet with full page sections

Every page section, assembled from molecules.

✓ What worked
  • A small set of shared stylesMost of each mode was a swap, not a redesign.
  • States built into componentsHover and default stayed consistent everywhere.
✗ What didn’t
  • Every mode built by handI duplicated components for each mode, which works, but means six sets to keep in sync.
  • Type and layout weren’t separatedBigger Dyslexia text grew the page ~460px and forced manual reflow.
  • The rules and the build driftedThe brief said 1.5 line height. My type styles shipped at 1.2.

Next time: Figma variables. One set of components with a value for each mode, so switching a mode updates everything at once.

A system that can switch modes still needs a way for people to switch it. How does a visitor tell the site what they need?

05 · The key piece

How does a visitor tell the site what they need? One button, five plain-language toggles.

The accessibility menu with five toggles

The menu molecule from my Figma file.

Each toggle says who it’s for, so nobody needs to know the terminology.

  • Dark ModeLight sensitivity, or prefer a dimmer screen
  • Color BlindTrouble telling certain colors apart
  • DyslexiaTrouble reading standard text
  • ADHDTrouble maintaining focus
  • SeizurePhotosensitive epilepsy
Accessibility menu
The accessibility menu moleculeClose

Each toggle swaps the same components into a different mode. So what actually changes when you flip one?

06 · The modes

What changes in each mode? Only what that need requires.

Content and layout stay put. Pick a mode to see what changes.

Digital Forest homepage in Default mode

For: Everyone

Default

Navy chrome, the green-to-navy brand gradient, Inter type.

Digital Forest homepage in Dark Mode mode

For: Light sensitivity

Dark Mode

Near-black background, white text, light-blue buttons, outlines instead of shadows.

Digital Forest homepage in Color Blind mode

For: Color vision deficiency

Color Blind

The green-to-navy gradient becomes all blue, so nothing depends on telling green from blue.

Digital Forest homepage in Dyslexia mode

For: Reading difficulty

Dyslexia

Larger type and more line spacing throughout.

Digital Forest homepage in ADHD mode

For: Focus

ADHD

Everything dims except a reading strip, one band of content at a time.

Digital Forest homepage in Seizure mode

For: Photosensitive epilepsy

Seizure

The animated hero becomes a still, gradients flatten to navy, nothing moves or flashes.

My color styles, each with its contrast ratio and light and dark samples

My color styles from Figma, each with its contrast ratio. Every pairing passes WCAG AA (4.5:1). All but success green and the light end of the teal gradient clear AAA (7:1).

Color styles
My color styles with contrast ratiosClose

On paper, every color passed. But a Figma file can only show a menu. Would it actually work on a real page?

07 · Beyond the class

Could it actually work? I built it to find out.

After the semester I used Claude to turn my Figma file into a working, clickable site, then checked every page against my design.

Hero motion graphic made with Vale and Myriad.

The working prototype in Dark Mode with the accessibility menu open

Opens in Dark Mode when your device is set to dark.

What the build fixed

Nine changes from class file to working build.

Reading

  • Line height 1.2, though my brief said 1.51.5 everywhere
  • Secondary gray at 6.0:1 (AA)#4A4A4A at 8.9:1 (AAA)
  • Dyslexia mode: bigger InterBigger type in Lexend, a wider-spaced face

Getting around

  • Menu button lives in the hero, gone once you scrollPinned to the corner on every page
  • No keyboard plan for the menuTab reaches it, Escape closes it
  • Long stacks of full-width product cardsCard grids with working filter tabs

Adapting

  • Mode resets on every pageYour choice is remembered
  • Ignores device settingsStarts in Dark Mode or pauses motion when your device asks
  • Desktop only, static ADHD stripResponsive to phone width; the strip follows your pointer or scroll
The working prototype Products page as a two-column grid with filter tabs

Using the live pages showed me how long the product stacks felt, so they became a grid.

Seen only in the live build

How the ADHD reading strip feels while you scroll, and how long a page really is, are things a static Figma frame can't show.

Prototype in Dark Mode
The working prototype in Dark Mode with the menu openClose
Prototype Products page
The working prototype Products gridClose

The build proved the menu works. It couldn’t prove the modes work for the people they’re for, so what would I do differently?

08 · Reflection

So what would I do differently? Test it with the people it’s for.

Every decision came from WCAG, my audit and my own judgment.None came from people who use these modes every day, and my only formal feedback was a grade.
Next time:three or four sessions with users who have dyslexia, ADHD or low vision before calling it done, and mobile designed alongside desktop from the start.
Back to the top ↑
Previous
Previous

CISO Dashboard · Spacewalk AI

Next
Next

CyberAware