Braille display

A device with pins that continually reshape into braille, turning text and interface details into tactile output.

braille keyboard screenthe device with moving braille dotsscreen reader you can feelcomputer output for deafblind usersreading a website with your fingershow do deafblind people use a computerrefreshable braillebraile display

See it

Live demo coming soon

What it is

A braille display is a row of refreshable cells whose small pins rise and fall to form braille characters. A screen reader such as NVDA or VoiceOver sends it text and interface information gathered through the platform accessibility APIs, which originate in the browser's accessibility tree. Many displays also have cursor-routing buttons that move focus or the text cursor to a chosen cell. Common sizes run 14, 20, 40, and 80 cells, so a 40-cell unit shows about half a printed line at a time.

It gives blind and deafblind users tactile access to text, spelling, punctuation, code, labels, roles, and states. Semantic HTML is the main implementation tool: headings, buttons, form labels, table headers, language changes, and live regions give the screen reader meaningful information to translate. Concise accessible names matter because only one short line may be available at a time.

Gotcha: braille is not just speech printed as dots. Exact characters, capitalization, punctuation, and reading order can matter much more than they do in synthetic speech. An icon-only control named 'button' is still useless, and an aria-label that replaces useful visible text can hide spelling or context the reader needed.

Ask AI for it

Review this interface for a refreshable braille display used with NVDA and Firefox. Replace custom controls with semantic HTML, give every interactive element a concise accessible name, expose state with the correct aria-expanded, aria-selected, aria-checked, or aria-current attribute, and connect help and errors with aria-describedby. Preserve logical DOM order, real heading levels, table header associations, punctuation, and lang attributes. Put important asynchronous changes in an aria-live region without repeating unchanged text. Then write a manual test route through the page using braille navigation and cursor-routing keys, listing the name, role, value, and state each stop must expose without inventing exact device output.

You might have meant

screen readeraccessibility treeassistive technologysemantic htmlaccessible name

Go deeper