The solution
I gave myself one rule: every screen has to work for the person using it, however they use it. That turned into five habits.
Plain words. Short sentences. A button says what it does, like "Send request", not "Submit".
You can always see where you are. Every button and field gets a thick blue ring when you tab to it.
Never just color. Every status has an icon and words too. "Interview booked", never only a green dot.
Big targets. Buttons and fields are at least 48 pixels tall, so they're easy to hit.
You're in control. You pick the text size, contrast, motion and captions. You decide who sees your accessibility needs.
The problem
Looking for a job is already stressful. If you have a disability, the website can make it harder.
People use sites differently. Some people only use a keyboard. Some use a screen reader. Some talk to their computer. If a site is built for a mouse, they get stuck.
Small things get missed. A status that's only a color. Tiny text. A menu that hides things. Easy to miss, and missing one step can mean missing an interview.
Stress on top of stress. Confusing errors, big words and pages that time out. Nobody needs that while job hunting.
So I didn't treat accessibility as a final check. I started there.
Key decisions
Finding jobs: the supports show up front
Search by typing or by voice. Every job card shows the workplace supports right away.
For this audience, flexible hours or a quiet workspace matter as much as pay. So I did not bury them in the details.
Applying: your needs, your choice
One dialog. Your accessibility needs fill in from your profile.
You choose whether the employer sees them. If sending fails, you keep what you typed and get a clear "Try again".
Tracking applications: status in words
Every application shows its status and what happens next.
Status is an icon plus words, like "Interview booked". Nobody has to guess what a color means.
Interviews: ask for what you need, early
Before the day, you can ask for captions, extra time or a sign language interpreter.
The Join button stays off until 15 minutes before, and a line tells you why. No mystery grayed-out button.
Edge cases I designed for
What if a search finds nothing?
A No results screen, and Clear filters takes you back to the jobs list.
What if an application fails to send?
You keep what you typed and get a clear "Try again".
What if sign in fails?
The error doesn't say which part was wrong, so it stays safe. It points you to "Forgot password", and there is no time limit.
What if a form has a mistake?
A box at the top says what is wrong in plain words, and the field is marked too.
What if someone stops halfway through their profile?
Answers save as you go. The dashboard shows how much is done and what to add next.
What if someone can't see the chart?
Every bar has its number next to it, and the same numbers come as a table.
What if someone tries to join an interview too early?
The Join button stays off until 15 minutes before, and a line says why.
What if Abi can't answer?
A real person is one tap away. Message support, and they reply within a day.
What if the default text is too small or too light?
Pick a larger text size or high contrast in Settings. Changes show right away.
Accessibility
I marked up nine key screens. The purple boxes are page areas, the little tags are heading levels, and the numbers are the tab order. The side panel lists what a screen reader should say for each control.
Bars are decoration, numbers are the data. The progress bars in Application progress are decoration. The number beside each one is the data. "View these numbers as a table" gives the same data as a table.
Number cards are plain text. The four number cards are plain text, not buttons. A screen reader reads each as one fact, for example "Applications sent, 50, 2 sent this week".
Buttons say what they open. Each arrow button in Upcoming interviews is named "View interview details: [title]". The date is read as a full date, "Monday, October 12".
New notifications are announced. The bell count is in a polite live region, so a new notification is announced without moving focus.
Ask Abi never covers content. "Ask Abi" is a button that opens the Abi window. The page keeps 96 px free at the bottom so the button never covers content.
I checked every color pair with real numbers, so nothing was a guess. Main text on white is 17.7 : 1. It only has to be 4.5. My weakest text color is 5.2 : 1. Still passes. 22 of 22 color pairs pass, in light mode and high contrast.
The parts carry the rules too. Labels stay visible above each field, never placeholder only. Errors use an icon, text and a border, not color alone. A checkbox has a 24 px box inside a 44 px tall hit area, and the whole row is clickable.
Results
The 2022 redesign. I tested with five to ten users with a range of disabilities. Each person got a different task: finish a profile, find and apply to a job, or use the chatbot. Most finished without help. Navigation was the sticking point. The front-end team built directly from my specs.
The 2026 redesign. I haven't tested this with a screen reader or with real job seekers yet. That's the honest next step, and the one I care about most.
Desktop and tablet are done: 57 desktop screens and 59 tablet screens, 8 user flows and 41 components. Mobile comes later, as its own case study.
How I got there
The first redesign, in 2022
The screens on this page are my 2026 redesign. This is the story of the first one. I was the only designer, working with two front-end developers and a PM, over 12 weeks.
What was broken
The product worked. It just worked badly for the people it was built for. I went through the old interface screen by screen and wrote down what I found.
The dashboard had a profile, a job feed, and a chatbot competing on one screen. Twelve coloured status pills with no key explaining what the colours meant. The chatbot took up the left third of the screen and also doubled as the navigation menu. Job cards didn't have a consistent shape, so the layout shifted from card to card. If you can see the page that's mildly untidy. If you're hearing it read out, it's disorienting.
Four features became two
My brief was to redesign all four features: the candidate dashboard, the chatbot, a job coach portal, and an employer dashboard. I took the plan to the founder and the managers and argued against it.
Most people can handle an interface changing. That isn't how it goes for someone who's built muscle memory around a screen reader path. Change everything at once and you don't get a better product. You get people who stop using it. So I proposed shipping in batches: the candidate dashboard and the chatbot first. The job coach stayed in the roadmap, because no competitor offers it. The employer dashboard was cut.
Research
I interviewed ten job seekers who used the platform, including screen reader users, keyboard-only users, and people with motor impairments. I sent a survey to the wider user base, and fifty people responded. Then I sat with five users while they used the dashboard live. This was the most useful thing I did. People said the site was "fine" in interviews and then visibly struggled when I watched them use it.
Three things kept coming back. People couldn't finish basic tasks without someone sighted helping them. The interface gave no feedback when something went wrong. Navigation changed from page to page, so nothing you learned on one screen carried to the next. Those three became what I designed against.
Four rounds
First pass. Skill percentiles on the dashboard, a search bar on every page, video resources at the bottom. Most of that was wrong.
Adding context. Action cards at the top, and a match percentage on each job. Someone using a screen reader could hear "90 percent match" and decide whether to keep listening.
The navigation experiment that failed. I moved navigation from the left sidebar to a bar across the top. Screen reader users couldn't navigate it, and almost everyone went looking for the sidebar first.
Reverting and refining. I put the sidebar back. Muscle memory beat visual cleanliness, and for this group of users that isn't a close call. The chatbot became a floating button instead of taking a third of the screen.
What I learned
Consistency matters more when people can't scan. Test rough work early. And sometimes the right answer is to change less.
Inspiration
I didn't copy another job site. I started from how people actually use one.
The WCAG rules. I used them as my checklist from day one, not at the end. Text has to stand out clearly from its background, and so do outlines. I made buttons bigger than the minimum.
How people move through a page. Keyboard, screen reader, voice. So I drew the tab order and the page areas right on the screens. Developers can see exactly what I mean.
Plain words and Figma's flow guide. I kept my wording simple. For the user flows I followed Figma's guide: one goal per flow, and every choice labeled.
How I worked
1. Rules first. Before I drew anything, I wrote down what the accessibility rules mean for each part of the product.
2. The system. Colors, text and spacing set up as variables. I checked every color pair with real numbers, so nothing was a guess.
3. Parts. Buttons, fields and cards built once and used everywhere. Fix one, and every screen gets the fix.
4. Screens. Desktop first. Every screen has its empty, error and success versions.
5. Flows and notes. Eight user flows. Then I marked up nine screens for keyboard and screen reader users.
6. Tablet. Same journeys, new layouts. I didn't just shrink the desktop.
The design system
Everything comes from a small set of colors, text styles and parts. I checked the contrast of every color pair.
User flows
One goal, and every choice is drawn out. Even when a search finds nothing or an application fails, there's always a next step.
Abi, the helper, answers first. If it can't, a real person is one tap away. You never hit a dead end.
Tablet
The sidebar becomes a menu with a clear Menu button. Messages split into a list and a conversation. Settings links sit in a row at the top. Cards wrap instead of getting squeezed.
Other flows
Sign in and create account
Clear error messages, a "show password" box, and no time limit.
The error doesn't say which part was wrong, so it stays safe. And it points you straight to "Forgot password".
Setting up a profile
Four short steps. Your answers save as you go, so you never lose your work.
If something's wrong, a box at the top says so in plain words, and the field is marked too. A screen reader user finds the problem fast.
Messages
Reply by typing or by voice. Every message says who sent it and when, in words.
A screen reader user gets the same story a sighted person gets from left and right bubbles.
Learning videos
Short videos with captions, a transcript, and speed and caption size controls.
Nothing plays by itself. You set it up once and it stays that way.
Getting help
Chat, message, phone, relay, or a sign language video call. Pick what suits you.
Nobody has to use the phone if that's hard for them.
Making it yours
Text size, contrast, motion, captions and privacy, all in one place.
Changes show right away, so you see the result before you save.
Abi, the helper
A chat helper that answers in short steps.
On desktop it sits beside the page, so it never covers a button. If it fails, a person is one click away.
What I'd do differently
Test it
Try it with NVDA, VoiceOver and keyboard only. Then sit down with a few people who use the platform.
Fix what they find
My notes are just a plan. Real people will show me what I got wrong.
Mobile
That's next, as its own case study with its own layouts.
One thing I learned: build the system first. When I changed one color or one part, every screen followed.
