Skip to main content
All work

Demo 06 · Design thinking

Redesigning a show page for accessibility

The engineering demos prove I ship. This proves how I decide what to ship. A clear design process, from persona to journey map to information architecture to a measured result. Every artifact is built as code. No Figma needed.

The problem

A listener hears a track on air and wants to find the show, play it, and save it for later. On the current page that takes too many taps, fails keyboard users, and leaves nothing to come back to. I scoped a redesign of the show and listen flow around one person and her scenario.

1 · Persona

Priya, 34. Commuter and member.

Listens on her phone, often one handed on transit.

  • Goal: capture a song or show the moment she hears it.
  • Goal: get to play in the fewest taps.
  • Context: uses VoiceOver some mornings, with bright sun on the screen.
  • Frustration: I lose the thing I wanted before I can save it.

2 · Context scenario

Priya is on the bus when a track catches her ear. She pulls out her phone in bright sun with one hand on the rail. She wants to know the show, start it from the top, and follow it so tonight she can pick up where she left off. No squinting, no digging through a menu, and VoiceOver reading everything right. The design has to make that whole arc feel like three easy taps.

The method: write the story first, then pull the requirements from it. The story above leads straight to the opportunities in the experience map.

3 · Experience map

Reading down each phase shows the pain points in red and the design opportunities highlighted. Those are what the redesign has to answer.

Hears a track

Catches a song on air and wants to know what it was.

What was that? I need to find it before I forget.

Curious

PainNow playing is buried three taps deep.

OpportunityA persistent now playing bar with one tap to save.

Searches the site

Opens the site on her phone to find the show.

Which show is on at 9am again?

Unsure

PainThe schedule is a dense table with no clear focus order.

OpportunityA card based schedule with clear focus states.

Plays the show

Starts the live stream or the on demand episode.

Just let me press play.

Frustrated

PainThe play button is an unlabeled icon. A screen reader says button.

OpportunityA labeled, keyboard ready player (Demo 02).

Saves and returns

Wants to follow the show and come back later.

Will I be able to find this again?

Hesitant

PainNo saved state. Nothing personal to return to.

OpportunityA My Station dashboard (Demo 05).

4 · Information architecture and flow

Diagrams as code. They live in the repo as text, not exported images. Left is the site structure. Right is the redesigned task flow.

Information architecture
Home
Listen LiveShows → Show detail → EpisodeScheduleMy Station → Saved, Recently playedSupport → Membership funnel
Task flow
Hears a track
Knows the show? No → Schedule → pick card
Show detail
Play: labeled, keyboard ready
Wants it later? → Save to My Station

5 · Wireframes, before and after

Before cluttered and inaccessible
  • Icon only controls, no labels
  • 3.1 to 1 text contrast on cream
  • Schedule is a non semantic table
  • Focus order jumps around
  • No skip link, nav not reachable by keyboard
After clear and accessible
  • Every control labeled and in tab order
  • All text 4.5 to 1 or better (AA)
  • Card schedule with real headings
  • Logical order with a visible focus ring
  • Skip link and landmark regions

6 · The result, measured

Accessibility is testable, so the redesign is measured, not claimed. Scores are from axe-core and Lighthouse on the prototype.

MetricBeforeAfter
axe violations230
Lighthouse a11y61100
Keyboard operablePartialFull
Contrast failures90
Labeled controls54%100%

These numbers are from the prototype I built for this case study, not a live KCRW page. The accessible player in Demo 02 and the dashboard in Demo 05 are the after of this story, built for real.