A markdown editor and renderer built for screen readers, NVDA first.
What's with the name? MD-er? uh I dunno, but the md is definitely honoring the .md extension. It's also fast to speak and easy if silly to say. I say it as a word rather than spelling out M D, because it's funnier that way.
mder is written largely through agentic coding, with an AI coding agent doing most of the programming. See How mder is made.
The window has two panes: a plain text editor for the markdown source, and a rendered view you read in browse mode. They stay in sync:
- F6 switches panes. It's a toggle.
- Going to the rendered view puts the screen reader on the block for the editor's caret line.
- Going back to the editor at the place you're reading, however, depends on the system.
- Windows: press Enter in the rendered view. mder detects the screen reader's click there, switches to the editor, and moves the caret to that position. Clicking with a mouse in the rendered view works too.
- Mac: similar to Windows, except that VoiceOver users press VO+Space, or with Quick Nav on, Up and Down Arrow together, to issue the click that makes mder switch to the editor and move the caret.
- Linux: Orca moves the rendered view's own text cursor as you read, so mder always knows where Orca is reading. Thus, plain F6 works both ways, keeping the editor and the rendered view in step.
- So when not on Linux, if you read ahead in the rendered view and press F6, the editor is still where you left it, which causes the next press of F6 to move back to that line in the rendered view. Something to be mindful of.
- Links in the rendered view only work within the document, such as links to headings. Links to websites and other files don't open anything yet.
- The rendered view updates as you type, patching only what changed so the screen reader keeps its place.
How the syncing works, and what we learned along the way, is written up for each screen reader:
- NVDA: what a web page can and can't tell about where NVDA is, and how to move it from code.
- Orca: Orca needed different tricks from NVDA, and WebKitGTK has bugs with lists that mder works around. Orca 48 has two small gaps that Orca 50 doesn't, such as not announcing entering a list.
- VoiceOver: the rendered view works much as with NVDA; most of the work was around it, such as coming to the front. Tab skips links in the rendered view, as in Safari, so use VO+arrows or Quick Nav to reach them.
If another program changes a file that mder has open, it reloads both panes within about a second. If you have edits in mder that aren't saved yet, it asks first whether to reload the file, losing your edits, or to keep your edits.
Download
How to install each one: Getting it.
- Version 0.1.226, released on 10/23/2026
First release: a cross-platform markdown editor and rendered view made for screen readers, on Windows, macOS and Linux.