Interaction design · Accessibility · Indiana University Indianapolis

AccessDraft.

A mobile application that eliminates the cognitive labor of writing accommodation requests — generating personalized, context-aware messages from four structured questions. Built with a blind co-designer. Tested with real assistive technology.

UX Research · Interaction Design · Accessibility Implementation
Mary Stones — Screen reader expert, accessibility professional
Live React app — deployed, screen reader tested, publicly accessible
14 weeks · 3 iterations · 1 live evaluation session
Scroll
0
structured questions to generate a fully personalized, context-aware message
0
design iterations, with screen reader evaluation at the center of each
0
collaborator findings turned into production code changes
0 Figma
prototypes used — every evaluation was a live, deployable application

01 — The problem

The invisible labor disabled people perform just to participate — before the meeting even begins.

A tax paid before
every single meeting.

Before nearly every meeting, workshop, or conference she attends, our collaborator Mary must write a personalized accommodation request. From scratch. Every time.

She described herself, unprompted, as "a broken record." This is what access computing scholars call the time tax — the invisible labor disabled people perform just to participate in environments not designed for them.

The problem, as Mary articulated it, isn't just repetition. It's the emotional and cognitive weight of having to repeatedly explain your needs, justify your presence, and hope the person on the receiving end actually acts on what you've asked for.

Option A

Generic template

Fast. But impersonal — and impersonal requests get deprioritized. You save seconds while undermining the effectiveness of the very thing you're asking for.

Option B

Handcrafted message

Authentic and effective. But cognitively expensive, emotionally draining, and repeated before every event — regardless of how many times you've written something nearly identical.

Mary named this problem herself — unprompted — and then immediately questioned whether any tool could actually solve it. That question contained the entire design brief: can a tool produce genuinely personal output from structured input?


02 — Our approach

Co-design means the collaborator reshapes the brief — not just the button labels.

She was our
co-designer,
not our test subject.

Mary is a domain expert. Six years of applied accessibility experience, professional screen reader certification, and contributions to JAWS and NVDA. We approached her accordingly.

Treating her as a traditional research participant would have meant validating our assumptions. Treating her as a co-designer meant her feedback could — and did — fundamentally reshape our understanding of what we were building. That happened twice.


The most important design decision wasn't a UI choice.

After the first iteration critique, we faced a real constraint: any prototype intended for evaluation by a blind collaborator must be addressable by her assistive technology. A Figma prototype renders as a flat raster image. VoiceOver announces it as an unlabeled graphic. Evaluation would be theater.

We built a live React application instead. Not as a workaround — as a methodological commitment. This moved accessibility from a property we hoped the design had, to a property we could directly measure. It added significant complexity. It was completely the right call.

Evaluation setup

Two realistic scenarios

Virtual meeting with a new presenter. In-person meeting with a known colleague. Tasks she actually does — not contrived usability theater.

Authenticity constraint

Her settings, her speed

Mary used her own VoiceOver configuration at her preferred speech rate. Not defaults. Preserving this is non-negotiable in accessibility research.

Session structure

Tasks → explore → interview

Structured tasks surface usability issues. Open exploration captures expert reactions. The interview reframes everything. All three are necessary.

The finding that changed everything
"I honestly think it probably would have been an equal amount of time — but where your prototype is helpful is that it lessens the cognitive load."
Mary Stones — collaborator evaluation session, post-task interview

We had built a time-saving tool. Mary told us we'd built a decision fatigue reducer. The tool supplies a structured menu of accommodations that a user might otherwise have to recall under self-advocacy pressure — in a moment that is already emotionally demanding.

The value is mental, not temporal. This reframe changed the north star metric, the product strategy, and what "success" means. It would have changed the design too — if we'd understood it from the start.


03 — Design decisions

Three pivotal choices.
With explicit tradeoffs.

The best design decisions are made with full awareness of what you're giving up. Each of these shaped the project's direction — and required the team to confront an assumption we hadn't examined.

01

Prototype medium — React over Figma

Decided in Iteration 1
Chose

Live React application, deployed to GitHub Pages. Usable with any screen reader, on real device hardware, with no setup required from the evaluator.

Rejected

Figma prototype. Renders as a flat raster image. VoiceOver announces it as an unlabeled graphic. Any "evaluation" would be simulation, not research.

Why it mattered

This was the move that separated our project. Accessibility cannot be evaluated in Figma. The medium is both the message and the method — and they have to match.

02

Radio button defaults — removed entirely

Revised after Iteration 1 critique
Chose

No pre-selected options on any radio group. Users make every choice explicitly. Recommended defaults preserved only on accommodation checkboxes, where they reduce burden without overriding a categorical decision.

Rejected

Pre-selected "most likely" options (virtual, Zoom, first-time presenter). Felt like good UX. But screen readers announce the pre-selected state as "selected" — users hear a decision they never made.

Why it mattered

This is a visual UX pattern that breaks for screen reader users. What sighted designers call a helpful default is an accessibility antipattern. The critique gave us language; the implementation gave us proof.

03

Default disclosure language — access need, not disability

Reframed by collaborator in Iteration 2
Chose

"I use screen reading software that reads information on the screen aloud." Describes the access need. Preserves user agency over disclosure. Name-specific AT is opt-in, unchecked by default.

Rejected

"I use a screen reader called JAWS." Discloses both the disability category and a specific AT brand — as the default, for every user, in every generated message, without their consent.

Why it mattered

Mary's accessibility office never names disabilities in accommodation requests. Some disabled people refuse to request accommodations rather than disclose. Disclosure is political. We had made that decision on behalf of every user without realizing it.


04 — Research findings

Six findings.
One session. All consequential.

Every finding below revealed a design assumption we hadn't examined. Each became a code-level change in the final prototype.

1

Default disclosure named the disability, not the need Critical

The generated message opened with "I use a screen reader called JAWS" — disclosing both disability category and a specific AT brand. Mary's professional practice, developed over years advising others on accommodation language, is to focus on the access need. Some disabled people refuse to request accommodations at all rather than disclose. We had made an irreversible disclosure decision on behalf of every user.

2

Trust signals came after the ask Critical

The no-data-saved privacy notice was at the bottom of the welcome screen. Mary: "Disability disclosure is a high-trust action." Trust must be established before you ask for the cognitive and emotional commitment — not offered as a footnote after the fact. Moved to the top; now the first thing a user sees after the heading.

3

Videos in meetings were absent from the conceptual model Major

One of the most common accessibility gaps in meetings — videos shown without audio description — wasn't in our accommodation list at all. This wasn't an oversight in implementation. It was an oversight in our understanding of the problem space. A new checkbox and corresponding message language were added.

4

"Work meeting" included the wrong meetings Major

Recurring meetings with familiar colleagues don't require an accommodation request — those people already know your needs. The option created a false use case. Renamed to "Work meeting at a new organization," communicating the scope constraint at the exact moment of selection.

5

"Send materials in advance" generated the wrong behavior Major

Recipients frequently interpret this as permission to send any PDF. Mary: they "often don't understand what accessible means." Changed to "Send accessible materials in advance" with helper text specifying "text with image descriptions, or Braille if available." Specificity generates compliance.

6

Edit affordance was invisible to screen reader navigation Minor

Mary missed the edit button entirely on her first pass. A message that appears visually as a passive display doesn't communicate its editability — especially when navigating by element type. Helper text now explicitly names the control: "Use the Edit Message button if you want to change anything before copying."


05 — Before → after

Design decisions at
the word level.

It's easy to describe design changes in the abstract. These are the concrete before-and-after pairs that show what changed at the language level — and exactly why each one matters.

Message opener

Before
"I use a screen reader called JAWS."

Names both a disability category and a specific brand — for every user, in every message, without their input. Disclosure without consent.

After
"I use screen reading software that reads information on the screen aloud."

Describes the access need. Preserves user agency. AT brand is opt-in — a toggle that regenerates the message immediately when checked.

Materials accommodation

Before
"Send materials in advance."

Vague enough that recipients interpret it however they like — frequently sending inaccessible PDFs and considering the request fulfilled.

After
"Send accessible materials in advance — text with image descriptions, or Braille if available."

Specific enough to generate the behavior being requested. Accessibility only works when recipients understand what it requires of them.

Event type option

Before
"Work meeting"

Includes recurring meetings with familiar colleagues — situations where this tool adds no value and shouldn't be used.

After
"Work meeting at a new organization"

Narrows to the actual use case. Communicates when to reach for the tool — and implicitly, when not to.


06 — Outcome

What the prototype proves — and what the strongest version of this product actually is.

One iteration cycle,
completely closed.

The deployed prototype is feature-complete for this project's scope. But "feature-complete" isn't the right success metric. What it proves is more specific.

It proves that a small, well-designed input form can produce a personalized accommodation request that reduces cognitive load — without sacrificing the authenticity that makes the message work. It also proves something methodological: accessibility can only be meaningfully evaluated with real assistive technology, in real conditions, by someone who controls their own setup.

Strategic insight — convergent from three sources

The standalone app is a demo, not the destination.

The strongest deployment context — identified independently by Mary, the faculty, and the in-class critique — is a widget embedded in conference registration forms, where users currently face a blank text box and no guidance on what to request. AccessDraft slots into precisely that moment: supplying the structured prompts and the warm, personalized draft.

Mary described this exact experience from a leadership conference she'd recently registered for. When three independent sources converge on the same product vision, that's a signal worth acting on.


07 — Reflection

What I'd do
differently.

This isn't a list of excuses. It's an honest account of where the model was wrong — and what a stronger version of this project looks like with more time and less deference to our own assumptions.

What this project taught me

  • Accessibility can't be a post-hoc audit. It has to be a constraint at the level of prototype medium.
  • Co-design means the collaborator reshapes the brief — not just the button labels. That happened twice. We should have expected it from the start.
  • The most useful question in a user session isn't "did that work?" It's "what did you actually just do?"
  • Recommended defaults are a visual UX pattern. They break for screen reader users. These are different design spaces that require different instincts.
  • Disclosure is a political act. Every design choice about what information appears by default carries political weight. We made that choice without noticing.

What I'd do differently

  • Involve Mary in the conceptual model from week one, not just the UI review. She would have surfaced the cognitive load reframe in week three — not week twelve.
  • Restructure the IA to lead with accommodations, not event type. That's how users actually self-advocate.
  • Run a desktop evaluation with JAWS. Mary stated her practice is to complete navigation-intensive forms on PC. We only tested on iPhone.
  • Conduct more than one evaluation session. One session is insight, not validation.
  • Fully resolve the fieldset/legend double-read pattern. We fixed it on some screens — not all of them.

Proposed next iterations

1

Lead with accommodations, not event type

"What do you need?" — not "what kind of event is this?" Matches the mental model of self-advocacy. Generalizes beyond visual disability naturally.

High priority
2

Conference registration platform integration

Embed AccessDraft at the registration moment — where users face a blank field and no guidance. That's the actual product.

High priority
3

Expand accommodation library beyond visual disability

Mary asked whether this would extend to deaf and hard-of-hearing users. Inclusive design treats this as a scope clarification, not a feature request.

High priority
4

Desktop JAWS evaluation

Verify focus management, fieldset announcement, and the read-only display in a second screen reader, under a different navigation model.

Medium priority
5

Rewrite the privacy story for persistence

The current "no data saved" promise changes when user preferences are stored. Specificity replaces categorical assurance.

Medium priority
Live and deployable

Built on real accessibility.
Tested by a real expert.

A React application — not a prototype — evaluated with VoiceOver on real iPhone hardware, by someone who trains others on screen readers professionally.