Coding accessibility: Software by the blind, for the blind · GitHub
https://github.com/readme/featured/nvda-coding-accessibility-software-blind • 250 KB fetched
Open original page
Coding accessibility: Software by the blind, for the blind · GitHub
Skip to content
Navigation Menu
Sign in
* Platform
* AI CODE CREATION
* GitHub Copilot Write better code with AI
* GitHub Copilot app Direct agents from issue to merge
* MCP Registry Integrate external tools
* DEVELOPER WORKFLOWS
* Actions Automate any workflow
* Codespaces Instant dev environments
* Issues Plan and track work
* Code Review Manage code changes
* Code Quality Enforce quality at merge
* APPLICATION SECURITY
* GitHub Advanced Security Find and fix vulnerabilities
* Code security Secure your code as you build
* Secret protection Stop leaks before they start
* EXPLORE
* Why GitHub
* Documentation
* Blog
* Changelog
* Marketplace
View all features
* Solutions
* BY COMPANY SIZE
* Enterprises
* Small and medium teams
* Startups
* Nonprofits
* BY USE CASE
* App Modernization
* DevSecOps
* DevOps
* CI/CD
* View all use cases
* BY INDUSTRY
* Healthcare
* Financial services
* Manufacturing
* Government
* View all industries
View all solutions
* Resources
* EXPLORE BY TOPIC
* AI
* Software Development
* DevOps
* Security
* View all topics
* EXPLORE BY TYPE
* Customer stories
* Events & webinars
* Ebooks & reports
* Business insights
* GitHub Skills
* SUPPORT & SERVICES
* Documentation
* Customer support
* Community forum
* Trust center
* Partners
View all resources
* Open Source
* COMMUNITY
* GitHub Sponsors Fund open source developers
* PROGRAMS
* Security Lab
* Maintainer Community
* GitHub Stars
* Archive Program
* REPOSITORIES
* Topics
* Trending
* Collections
* Enterprise
* ENTERPRISE SOLUTIONS
* Enterprise platform AI-powered developer platform
* AVAILABLE ADD-ONS
* GitHub Advanced Security Enterprise-grade security features
* Copilot for Business Enterprise-grade AI features
* Premium Support Enterprise-grade 24/7 support
* Pricing
Search /
Sign in
Sign up
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
Artwork: Susan Haejin Lee
Coding accessibility: Software by the blind, for the blind
The NVDA screen reader has helped empower a new generation of blind and low-vision developers
Mike Melanson // May 16, 2024
The ReadME Project
Open ReadME Project Menu
Browse by story type
*
Featured Articles
*
Developer Stories
*
Guides
*
The ReadMe Podcast
Explore Topics
See all topics
*
AI
*
Application Security
*
Career Development
*
DevOps & Automation
*
Maintainer
*
Programming
*
Nominate a developer //
*
Support the community
The ReadME Project amplifies the voices of the open source community: the maintainers, developers, and teams whose contributions move the world forward every day.
*
*
*
A lot of what Derek Riemer needed to know to become a professional software developer, he learned during his years involved with the NVDA (NonVisual Desktop Access) project, an open source screen reader for Microsoft Windows.
Like most of those involved with NVDA and its development, Riemer is blind. He found NVDA in 2011, while still in high school, when he was looking for a free alternative to his proprietary screen reader. He quickly became involved in the community, taught himself to code, and offered support where he could.
By 2013, he’d written his first NVDA add-on , and he’s since written 20 more and contributed code to NVDA itself. Today, Riemer works as a software engineer at Google.
When Michael “Mick” Curran and Jamie Teh started building NVDA in 2006, the majority of screen readers were proprietary and pricey. They wanted NVDA to offer a free and open source alternative.
They realized NVDA’s potential impact when they were first contacted by people wanting to translate NVDA into their native language. They knew that in many parts of the world, a free screen reader meant the difference between having access or not.
“That's that person saying, ‘I'm going to empower myself and my community,’” says Teh. “Everything that we do should ultimately be empowering other people to make the world better. I mean, that's how you force multiply and make something small into something much bigger that just honestly makes the world better for everyone.”
In the latest installment of the Coding accessibility video series , we see how projects like NVDA and OSARA , another open source project created by Teh, can be force multipliers.
For example, NVDA encourages a new generation of blind and low-vision developers like Riemer to hone their skills, get jobs, and further increase the accessibility of the world around them.
OSARA, meanwhile, gives blind and low-vision people better access to an audio production application called REAPER , which empowers them to earn a living as musicians, recording artists, studio engineers, podcasters, and more.
A copy of this video with audio descriptions of visual content is also available on YouTube .
Everything that we do should ultimately be empowering other people to make the world better.
“Software by the blind, for the blind”
The NVDA screen reader gives blind and low-vision people access to fundamentals like education and employment, as well as everyday functions such as online banking, shopping, and getting the news. The overwhelming majority of people who build and translate NVDA are blind or low-vision themselves, and Riemer says this is key. He points to NV Access , the non-profit started by Curran and Teh to foster NVDA’s growth, which requires at least a third of its board to be blind or low-vision.
“A product built by the community, for the community, is better than one built by some company, simply because the community is in charge of what goes into it,” says Riemer. “I can build an add-on when I need something and don't need to wait for some company to choose to actually fix the issue for me.“
To get to the point of building add-ons and working for Google, however, Riemer wasn’t alone. Teh’s thorough code reviews, for example, braced him for the things not covered in his computer science curriculum.
“When I got into the industry, I was already prepared for my code to be nitpicked. College teaches you a lot of things, but it doesn't teach you how code reviews really work,” says Riemer.
He recalls one class where some students were complaining that they didn’t care about design and just wanted to code. But he knew from his experience with NVDA that design was an integral part of the process.
For several years, Riemer also helped run the NVDA conference, where he says he gained experience managing people and organizing a live online event that spanned continents.
Nowadays, in addition to his core duties working on Google Drive, he’s found numerous ways to improve accessibility, both internally and externally. For example, he contributed to a library of born-accessible UI components that are now used by many projects within Drive. He’s also helped engineers across the company to build more accessible software, tested internal tooling, and helped consult on accessibility bugs and new features for multiple teams across Google.
A product built by the community, for the community, is better than one built by some company, simply because the community is in charge of what goes into it.
Community amplification
Community plays a big role for both OSARA and NVDA, and Teh says that’s on purpose.
“It was really important to us that we foster a healthy, open, well-functioning, and friendly community,” he says. “If I disappear for some reason, I want these projects to live on and for people to continue to receive joy, be employed, and realize their dreams.”
Communities for these projects reside in a variety of digital locales, from groups to servers to repositories and other collaborative resources.
NVDA users and contributors alike use the NVDA GitHub Discussions to chat about problems, suggest new features, and file GitHub Issues for various bugs and incompatibilities. One recent message promotes a new NVDA Discord server that covers various topics and may serve as a venue for future events. The NVDA email group offers its 1,600 subscribers a place to discuss NVDA and ask questions about using it. Nearly 600 subscribe to the NVDA Add-ons email list , home to the contributors and maintainers of the NVDA Add-ons Store , which houses the various third-party custom extensions created by the NVDA community.
“ REAPERs without peepers ” is an email group where people discuss REAPER accessibility, using OSARA or otherwise. The REAPER Accessibility Wiki lists a wealth of resources, including a shared, accessibility-focused Dropbox where people can share tutorials, custom REAPER actions, templates, libraries, instrument samples, and more. It also gives instructions on how to join a WhatsApp group that offers “a fairly loose, friendly hang” where people chat by both voice and text, share their latest work, ask questions, get answers, and collaborate.
If you follow these communities one step further, you’ll quickly find things like the Eyes On Success podcast , which Peter Torpey produces with his wife Nancy using OSARA. They discuss “products, services, and daily living tips for people with vision loss,” empowering others to empower themselves—and the cycle continues.
For both OSARA and NVDA, this is just the tip of the iceberg. Spend any time clicking through the web of content and community sprung from each and you’ll find yourself immersed in the fabric of people building, using, and maintaining these projects, and helping each other along the way.
All music used in the video was created by the blind and low-vision community using OSARA. Artists include:
* Alan McIntyre Studio:
* @alanmcintyrestudio on Instagram
* @alanmcintyrestudio on YouTube
* Neonmyth:
* @neonmyth on Instagram
* @neonmyth on YouTube
* Leo Da Slowly Movin:
* @leodaslowlymovin on YouTube
* @leodaslowlymovin on Bandcamp
* @leodaslowlymovin on Spotify
More stories
Open source is fueling the future of nuclear physics
Featured Article
From gaming with your eyes to coding with AI: New frontiers for accessibility
Featured Article
The modern web’s underrated powerhouse
Featured Article
About The
ReadME Project
Coding is usually seen as a solitary activity, but it’s actually the world’s largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities.
The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.
Follow us:
*
*
*
*
*
Nominate a developer
Nominate inspiring developers and projects you think we should feature in The ReadME Project.
Support the community
Recognize developers working behind the scenes and help open source projects get the resources they need.
Sign up for the newsletter
Sharpen your open source skills with tips, tools, and insights. Delivered monthly.
Site-wide Links
The developer newsletter
Get tips, technical guides, and best practices. Twice a month. Right in your inbox.
Subscribe
Platform
* Features
* Enterprise
* Copilot
* AI
* Security
* Pricing
* Team
* Resources
* Roadmap
* Compare GitHub
Ecosystem
* Developer API
* Partners
* Education
* GitHub CLI
* GitHub Desktop
* GitHub Mobile
* GitHub Marketplace
* MCP Registry
Support
* Docs
* Community Forum
* Professional Services
* Premium Support
* Skills
* Status
* Contact GitHub
* What is Git?
* Sitemap
Company
* About
* Why GitHub
* Customer Stories
* Blog
* The ReadME Project
* Careers
* Newsroom
* Inclusion
* Social Impact
* Shop
* © 2026 GitHub, Inc.
* Terms
* Privacy
* Manage cookies
* Do not share my personal information
* GitHub on LinkedIn
* GitHub on Instagram
* GitHub on YouTube
* GitHub on X
* GitHub on TikTok
* GitHub on Twitch
* GitHub’s organization on GitHub
English
You can’t perform that action at this time.
Links found on this page
- Skip to content [direct]
- Sign in [direct]
- GitHub Copilot Write better code with AI [direct]
- GitHub Copilot app Direct agents from issue to merge [direct]
- MCP Registry Integrate external tools [direct]
- Actions Automate any workflow [direct]
- Codespaces Instant dev environments [direct]
- Issues Plan and track work [direct]
- Code Review Manage code changes [direct]
- Code Quality Enforce quality at merge [direct]
- GitHub Advanced Security Find and fix vulnerabilities [direct]
- Code security Secure your code as you build [direct]
- Secret protection Stop leaks before they start [direct]
- Why GitHub [direct]
- Documentation [direct]
- Blog [direct]
- Changelog [direct]
- Marketplace [direct]
- View all features [direct]
- Enterprises [direct]
- Small and medium teams [direct]
- Startups [direct]
- Nonprofits [direct]
- App Modernization [direct]
- DevSecOps [direct]
- DevOps [direct]
- CI/CD [direct]
- View all use cases [direct]
- Healthcare [direct]
- Financial services [direct]
- Manufacturing [direct]
- Government [direct]
- View all industries [direct]
- View all solutions [direct]
- AI [direct]
- Software Development [direct]
- DevOps [direct]
- Security [direct]
- View all topics [direct]
- Customer stories [direct]
- Events & webinars [direct]
- Ebooks & reports [direct]
- Business insights [direct]
- GitHub Skills [direct]
- Customer support [direct]
- Community forum [direct]
- Trust center [direct]
- Partners [direct]
- View all resources [direct]
- GitHub Sponsors Fund open source developers [direct]
- Security Lab [direct]
- Maintainer Community [direct]
- GitHub Stars [direct]
- Archive Program [direct]
- Topics [direct]
- Trending [direct]
- Collections [direct]
- Copilot for Business Enterprise-grade AI features [direct]
- Premium Support Enterprise-grade 24/7 support [direct]
- Pricing [direct]
- Sign up [direct]
- Susan Haejin Lee [direct]
- The ReadME Project [direct]
- Featured Articles [direct]
- Developer Stories [direct]
- Guides [direct]
- The ReadMe Podcast [direct]
- See all topics [direct]
- AI [direct]
- Application Security [direct]
- Career Development [direct]
- DevOps & Automation [direct]
- Maintainer [direct]
- Programming [direct]
- Nominate a developer [direct]
- Support the community [direct]
- Derek Riemer [direct]
- NVDA [direct]
- NVDA add-on [direct]
- Michael “Mick” Curran [direct]