Teaching and tools · 2025

Tools for a Radical Accessibility Studio

Two hands hold a small white card with lines of raised lettering and a column of dots down its left edge, fingertips on the lettering, against a black background.

As a teaching assistant, I built three small tools so a low-vision student could read, label and design alongside everyone else in the studio.

Location
University of Illinois Urbana-Champaign, School of Architecture
Role
Sophomore Studio Special Teaching Assistant
Status
Studio

In fall 2025 I was the teaching assistant for a sophomore studio on radical accessibility. One student is low-vision and works with the JAWS screen reader. Where the usual studio tools left that student out, I built small tools to close the gap.

Each one started from something the student couldn't do yet, went into studio as a rough first version, and changed after we watched it being used.

Two hands hold a small white card with lines of raised lettering and a column of dots down its left edge, fingertips on the lettering, against a black background.
Reading by touch in the studio. Photo: Isaac Tu

01 Accessible PDF converter

Course readings often arrived as scans, which a screen reader can't read. I wrote a small program that turns a scan into a document with real headings and lists, so the student could move through it by keyboard like any other reader.

Four stages left to right. 01 Identification: course PDFs a screen reader couldn't read; handouts and exams were scans with no text layer; screen readers move through a document by headings and lists. 02 Ideation: recover the structure a sighted reader sees by reading type size, weight and indents as hierarchy. 03 Solution: a Python tool that uses the text layer or Tesseract OCR on scans, straightens and cleans pages, and writes Word and HTML with real headings and lists, keyboard only. 04 Integration: piloted with the student; scans came out as readable, separated text; fixes found in testing went back into the tool. Open: headings on scans.
Workflow: Accessible PDF Converter

02 Braille in Grasshopper

Our models needed labels that could be found by touch. I made a Grasshopper tool that sets braille and raised letters on any surface, ready to 3D-print. The first plates were too shallow to feel, so we raised the dots and printed again. With them, the student could read the labels across the whole Ensemble model throughout the design phase.

Type something and watch it turn into braille, drawn to scale.

Loading the word list.

Drawn to scale; the bar is 10 mm. Words in italics are spelled letter by letter.

Unicode braille, to select and copy

(nothing yet)

How this works, and the common contractions

UEB Grade 2 contracts words: whole words and parts of words take fewer cells than their letters (“mother” is two cells, “braille” is three). Which contractions apply depends on the parts of the word, so this page does not work them out letter by letter. It looks each word up in a list of the 20,000 commonest English words, with some for this project, translated once with Liblouis, the UEB engine and table that the 6-key app uses. Capital signs, numbers, punctuation, hyphens and apostrophes are added by rules, and the result was checked against Liblouis on thousands of sentences.

A word that is not in the list is spelled letter by letter. That is valid braille, but longer than UEB would write it, so those words are shown in italics. Symbols such as # & @ and accented letters have no cell here and are left out.

The common contractions

These are a reference, not what the page uses. UEB has many more, such as short forms (“about”, “because”) and parts of words (“tion”, “ment”).

Letters (26)

  • a dots 1
  • b dots 1 2
  • c dots 1 4
  • d dots 1 4 5
  • e dots 1 5
  • f dots 1 2 4
  • g dots 1 2 4 5
  • h dots 1 2 5
  • i dots 2 4
  • j dots 2 4 5
  • k dots 1 3
  • l dots 1 2 3
  • m dots 1 3 4
  • n dots 1 3 4 5
  • o dots 1 3 5
  • p dots 1 2 3 4
  • q dots 1 2 3 4 5
  • r dots 1 2 3 5
  • s dots 2 3 4
  • t dots 2 3 4 5
  • u dots 1 3 6
  • v dots 1 2 3 6
  • w dots 2 4 5 6
  • x dots 1 3 4 6
  • y dots 1 3 4 5 6
  • z dots 1 3 5 6

Whole-word signs (28)

  • and dots 1 2 3 4 6
  • for dots 1 2 3 4 5 6
  • of dots 1 2 3 5 6
  • the dots 2 3 4 6
  • with dots 2 3 4 5 6
  • but dots 1 2
  • can dots 1 4
  • do dots 1 4 5
  • every dots 1 5
  • from dots 1 2 4
  • go dots 1 2 4 5
  • have dots 1 2 5
  • just dots 2 4 5
  • knowledge dots 1 3
  • like dots 1 2 3
  • more dots 1 3 4
  • not dots 1 3 4 5
  • people dots 1 2 3 4
  • quite dots 1 2 3 4 5
  • rather dots 1 2 3 5
  • so dots 2 3 4
  • that dots 2 3 4 5
  • us dots 1 3 6
  • very dots 1 2 3 6
  • will dots 2 4 5 6
  • it dots 1 3 4 6
  • you dots 1 3 4 5 6
  • as dots 1 3 5 6

Letter groups (22)

Used anywhere in a word

  • ch dots 1 6
  • gh dots 1 2 6
  • sh dots 1 4 6
  • th dots 1 4 5 6
  • wh dots 1 5 6
  • ed dots 1 2 4 6
  • er dots 1 2 4 5 6
  • ou dots 1 2 5 6
  • ow dots 2 4 6
  • st dots 3 4
  • ar dots 3 4 5
  • en dots 2 6
  • in dots 3 5

Used anywhere in a word except at its start

  • ing dots 3 4 6

Used only in the middle of a word, with a letter before and after

  • ea dots 2
  • bb dots 2 3
  • cc dots 2 5
  • ff dots 2 3 5
  • gg dots 2 3 5 6

Used only at the start of a word

  • dis dots 2 5 6

Used only at the start of a longer word

  • be dots 2 3
  • con dots 2 5
One braille cell, drawn to scale
Four stages left to right. 01 Identification: model labels a reader can find by touch; braille needs fixed dot size and spacing; most English braille is contracted (UEB Grade 2). 02 Ideation: type braille the way a brailler does, with six keys F D S J K L for the six dots; raised print letters beside the braille. 03 Solution: a GhPython component that places braille on any surface, from English or six-key chords, with dots that follow curved surfaces, whole words wrapping, and dots sunk 0.7 mm so they fuse into the plate. 04 Integration: 3D-printed braille plates; spacing and dot height within ADA sign ranges; dot height raised from 0.48 to 0.7 mm. Open: contractions inside words.
Workflow: Braille in Grasshopper

03 Print or six-key to braille

Braille on a drawing has to arrive as text. This small app lets you type braille on six keys, the way a brailler does, or translate it from English, then paste it anywhere. It made the braille labels on the final Ensemble board.

Like a brailler: hold some of F D S J K L together, let go, and one braille cell is added. Try F D S J L.

Click or tab to a key, then press F D S J K L on your keyboard. Or tap keys here and press Add cell.

Listening: hold any of F D S J K L, then let go of all of them.

no keys yet  

Cells so far

None yet.

Reads as(generate a cell above with the buttons)

As braille text, to select and copy(waiting for cells)

Each chord becomes one braille character that pastes into any app, the same way the 6-key app works.
Four stages left to right. 01 Identification: braille labels for drawings and boards; layouts need braille as text characters; a standard keyboard has no way to type braille cells; it must work by keyboard and screen reader. 02 Ideation: two ways in, one output, using six-key chords like a Perkins brailler or typed print. 03 Solution: a Windows app built for keyboard use; F D S J K L chords become braille cells; print text is translated to UEB Grade 2 braille through Liblouis; the output is Unicode braille that pastes into any app, with shortcuts and a status line for screen readers. 04 Integration: used in studio for braille labels on drawings and boards; Liblouis is bundled with nothing to install. Open: one-cell Backspace.
Workflow: Print or 6-Key to Unicode Braille

In the studio

I also drew swell-paper versions of studio drawings. Printed on swell paper and run through a PIAF heater, everything black rises off the page, so the student could read the sheets by touch: the braille titles, the linework, the textures, and the difference between line weights and line types.

Three drawing sheets side by side, a plan, a section and an isometric of a small house. Each has a line of braille and a title at the top left and a scale bar at the top right. (Plan)

Plan · 1 of 3

Swell-paper drawing sheets, House 5: plan, section and isometric. Drawn by me as the teaching assistant
Seen from above, one hand points at a card of lettering lying on a white paper-and-card model while another hand rests on a sheet of drawings. A ruler stands at the right edge.
A label card laid on the tactile model. Photo: Isaac Tu
A hand holds a tall ruler upright beside a white paper-and-card model. A card of lettering lies on the model in front of it.
A scale ruler and a label card at the model. Photo: Isaac Tu
Seen from above, several hands work over a white paper-and-card model on a black table.
Working over the model together. Photo: Isaac Tu
A white paper-and-card model with raised pieces on a black table. A hand rests at the right edge.
The model in progress. Photo: Isaac Tu