One Week with NVDA: A JAWS User’s Immersion Journey

What started as a seven-day experiment ended with a new primary screen reader.

I’ll be honest: I didn’t expect this to go the way it did. On February 14th, 2026, I set myself a challenge — use NVDA exclusively on my personal computer for one full week, switching back to JAWS only if my work required it. I’ve been a longtime JAWS user, and NVDA has always been on my radar as the powerful, free, open-source alternative. But radar is different from reality. So I dove in.

One week later — and several days beyond that — I’m still running NVDA. It has become my primary Windows screen reader. I won’t be abandoning JAWS entirely; both tools have their place. But if you’ve been on the fence about giving NVDA a serious try, read on. Here’s everything that happened.

Day 1 (February 14): First Impressions and the Punctuation Problem

The very first thing that tripped me up was punctuation. NVDA defaults to “some” punctuation, while I was accustomed to “most” in JAWS. The practical effect: symbols like the underscore were being silently skipped. I switched to “most” punctuation right away, and that helped — but it opened its own can of worms.

In “most” mode, NVDA announces the underscore as “line.” I found that maddening. The colon inside timestamps (insert+F12 for the time) was also being spoken aloud, which felt odd. These were small things, but they added up quickly.

I also explored the NVDA Addon Store. It’s a great concept, but I found the execution a bit rough — many addons lack solid documentation, and reading user reviews means navigating away to an external website. There’s room to grow here.

One more early grievance: common commands like Control+C and Control+S are completely silent in NVDA. You press copy or save and hear… nothing. The option to speak command keys does exist, but it makes everything chatty — tab, arrows, all of it. That’s not what I wanted either.

Day 2 (February 15): Muscle Memory Wars and Customization Overload

Day two was the most turbulent. My JAWS muscle memory fought me at every turn, and I spent a significant portion of the day not doing productive work but rather reconfiguring NVDA to survive.

Browse Mode and Focus Mode were a constant source of confusion. In JAWS, Semi Auto Forms Mode handles a lot of this context-switching behind the scenes. With NVDA, I found myself stuck in the wrong mode repeatedly. A simple example: after submitting a prompt to Gemini and hearing its reply, I pressed H to navigate to the heading where the response started. NVDA just said “h” and sat there. I was still in Focus Mode. Insert+Space toggled Browse Mode on and then everything worked — but I had to consciously remember to do that. This will likely get easier with time, but on day two, it was genuinely frustrating.

I remapped a fistful of commands to save my sanity. The NVDA find command in Browse Mode is Control+NVDA+F — not Control+F — which felt deeply wrong. I added Control+F, F3, and Shift+F3 under Preferences > Input Gestures. I also kept repeatedly bumping into Insert+Q being the command to exit NVDA rather than announcing the active application, which nearly gave me a heart attack the first time it happened. I enabled exit confirmation in Preferences > General, then later reassigned Insert+Q to announce the focused app and moved the exit command to Insert+F4.

The underscore-as-“line” issue got its resolution today. The fix wasn’t in NVDA’s speech dictionaries as I first expected — it was in Preferences > Punctuation/Pronunciation. Problem solved. I also tackled the exclamation mark, which sits in the “all” punctuation tier rather than “most.” I mapped it to announce as “bang” when it appears mid-sentence.

There was also a frustrating addon conflict: the NVDA+Shift+V keystroke, officially assigned to announce an app’s version number, was instead being intercepted by the Vision Assistant Pro addon to open its command layer. Addon keystrokes can silently override core NVDA functionality — something worth knowing. I ended up assigning Control+NVDA+V to get version info.

One gap I noticed that NVDA doesn’t yet fill: quickly reading the current page’s URL without shifting focus to the address bar. JAWS handles this with Insert+A. NVDA doesn’t have an equivalent. Alt+D works, but it moves focus, which isn’t always what I want.

Day 3 (February 16): The Good, The Annoying, and a Genuine Win

By day three — President’s Day — I was settling into something like a rhythm, though NVDA was still throwing surprises at me.

One thing I couldn’t crack was typing echo. In JAWS, I run character-level echo at a much higher speech rate than everything else. This gives me fast, confident confirmation of each keystroke without slowing down general speech. NVDA doesn’t appear to support different speech rates per context, so typed characters come through at the same rate as everything else. I know I can’t be the only person who relies on this, so I kept digging — but no solution yet.

I also noticed a recurring issue: NVDA going silent after focus changes. Closing Excel or Word and returning to File Explorer? Silence. Switching browser tabs with Control+Tab? Sometimes silence. This felt like potential bug territory.

PDFs were another pain point. I work with many poorly tagged PDFs, and NVDA with Adobe Reader exposes every formatting flaw without mercy. JAWS has historically done more smoothing and pre-processing before those errors reach the user. I’m withholding final judgment here — there are third-party PDF tools that work well with NVDA, and I planned to test them.

I experimented briefly with turning off automatic say-all on page load to reduce repetitive speech on websites. Bad idea. After toggling an action, nothing was announced — I had to manually navigate just to figure out where I had ended up. I turned it back on immediately.

The genuine win of the day: the Vision Assistant Pro addon. While working on a freelance project that required a visual description of a web page’s layout, I pressed NVDA+Alt+V then O for an on-screen description. Within seconds I had exactly what I needed. A follow-up question was answered just as quickly. Cross-checking with other tools confirmed the accuracy. This was an impressive moment and a real argument for NVDA’s addon ecosystem.

Day 4 (February 17): The 32-Bit Revelation and Eloquence Arrives

I learned something on day four that genuinely surprised me: NVDA 2025.3.3, the current stable release, is 32-bit. I had assumed for years that I was running a 64-bit screen reader. This discovery came about through an unexpected path.

I came across a link to a 64-bit version of the Eloquence speech synthesizer built for NVDA. Excited, I installed it and restarted — only to find NVDA using Windows OneCore voices with no trace of Eloquence. After posting about it on Mastodon, the community quickly pointed out the 32-bit issue. The 64-bit Eloquence addon requires a 64-bit NVDA, which only exists in the 2026 beta builds. I grabbed the beta, installed everything, and was finally running Eloquence on NVDA. The 64-bit upgrade is coming in the official 2026.1 release — well worth watching for.

I also continued searching for an NVDA equivalent to JAWS’s Shift+Insert+F1, which gives a detailed browser-level view of an element’s tags, attributes, roles, and IDs. This is invaluable for accessibility work. I hadn’t found a satisfying answer by end of day.

Day 5 (February 18): Discovering NVDA in Microsoft Word

I don’t often think of Browse Mode as a Word feature, so I was pleasantly surprised to learn — after reading some documentation — that NVDA supports a version of it in Word, allowing quick navigation by headings using the H key. This made my document work much more manageable.

I also received another update to 64-bit Eloquence, which fixed bugs I hadn’t even noticed. As for the work computer, I decided against installing the NVDA beta there — my employer deserves results from the stable release. That upgrade will wait for the official 2026.1 launch.

Day 6 (February 19): The Quiet Day

Day six was uneventful in the best possible way. I used my computer heavily and NVDA just worked. No major incidents, no emergency remappings. I noticed I was reaching for JAWS less and less in my thoughts. That felt significant.

Day 7 (February 20): Amateur Radio and a Happy Ending

The final day of the official challenge coincided with the start of the ARRL International DX CW (Morse Code) contest — one of the bigger amateur radio events of the year. I was curious how N3FJP’s contest logging software would hold up with NVDA, since this is specialized, legacy-adjacent software that doesn’t rely on standard accessibility APIs.

The answer: it worked great — and actually felt snappier than with JAWS. The one wrinkle was reviewing the call log. The standard screen review commands on the numpad didn’t yield useful information at first. The solution was object navigation. By pressing NVDA+Numpad 8 to climb to the parent object (“call window”), I found that each column in the log is its own object. Navigating with NVDA+Numpad 4, 5, and 6 moved between objects at the same level, announcing “Rec Window,” “PWR Window,” “Country Window,” “Call Window,” and so on. From there, Numpad 9 and 7 moved through the log in reverse chronological order. Once I understood the structure, it worked beautifully.

My two radio control apps — JJRadio and Kenwood’s ARCP software — also worked flawlessly. Just when I was expecting NVDA to hit its limits, it didn’t.

What NVDA Does Really Well

After a week of intensive use, here’s what impressed me most:

  • Speed and responsiveness. NVDA frequently felt faster than JAWS, especially in applications like the N3FJP logging software.
  • Deep customizability. The Input Gestures system makes it relatively easy to remap commands. Preferences > Punctuation/Pronunciation gives granular control.
  • The addon ecosystem. Despite rough edges, the Vision Assistant Pro addon alone demonstrated real power. The 64-bit Eloquence support is also a significant upgrade.
  • Object navigation. Once I understood NVDA’s object model, navigating legacy and non-standard interfaces became genuinely manageable.
  • Cost. NVDA is free, actively developed, and open source. The value proposition is extraordinary.

Where NVDA Still Has Room to Grow

  • Silent focus changes. NVDA going quiet after closing apps or switching tabs is disorienting and may be a bug worth filing.
  • PDF handling. Poorly tagged PDFs hit differently with NVDA than with JAWS, which smooths many errors before they reach the user.
  • Typing echo speech rate. The inability to set a faster speech rate specifically for typed characters is a real productivity gap for fast typists.
  • Element inspection. JAWS’s Shift+Insert+F1 for examining element attributes has no obvious NVDA equivalent, which matters for accessibility work when I just need to start with a quick-and-dirty answer before digging deeper into the code.
  • URL reporting without focus change. A read-only way to hear the current page address — without moving focus to the address bar — is missing.
  • Addon documentation and conflict resolution. Keystroke conflicts between addons and core NVDA aren’t surfaced clearly enough.

The Verdict: One Week Became the New Normal

I went in expecting to survive a week and then gratefully return to JAWS. Instead, I’m writing this article as an NVDA user. The first two days were genuinely hard — partly NVDA’s rough edges, partly years of JAWS muscle memory fighting back. But by day six, NVDA was simply humming along, and I wasn’t thinking about JAWS at all.

For experienced JAWS users considering a serious NVDA trial, my main advice is this: budget real time for reconfiguration in the first two days. The defaults won’t feel right. But the tools to make NVDA feel right are mostly there — they just require some digging. Preferences > Punctuation/Pronunciation and Input Gestures will be your best friends.

JAWS isn’t going anywhere in my toolkit. For professional accessibility auditing, PDF work, and certain specialized contexts, it remains the gold standard. But for day-to-day use on my personal computer? NVDA has earned the top spot.

The 2026.1 release — bringing official 64-bit support — is going to be a milestone worth watching. If you’ve been waiting for a good moment to give NVDA a real chance, that moment is here, now.

Sources

This article is primarily a firsthand account based on my direct experience. The following resources document or corroborate the specific factual claims made in the article.

  • NV Access: NVDA 2025.3.3 Released — Official release announcement for the stable version of NVDA tested throughout this article, confirming it is a 32-bit build.
  • NV Access: In-Process, 10th February 2026 — NV Access’s own blog post confirming that NVDA 2026.1 is the first 64-bit release, and discussing the scope of that transition.
  • NV Access: NVDA 2026.1 Beta 3 Available for Testing — The beta release announcement for the 64-bit version of NVDA referenced in the Day 4 entry.
  • NVDA 2025.3.3 User Guide — The official NVDA documentation covering Browse Mode, Focus Mode, Input Gestures, object navigation, Punctuation/Pronunciation settings, and the Add-on Store — all features discussed throughout the article.
  • Switching from JAWS to NVDA — A community-maintained transition guide for experienced JAWS users switching to the free, open-source NVDA screen reader, covering key differences in keyboard commands, terminology, cursors, navigation, synthesizers, settings, add-ons, and common troubleshooting scenarios.
  • N3FJP’s ARRL International DX Contest Log — The official page for the N3FJP contest logging software tested with NVDA on Day 7.
  • ARRL International DX Contest — The American Radio Relay League’s official page for the ARRL International DX CW contest referenced in the Day 7 entry.

Delphi Programmer Says Freedom Scientific Does Not Play Nice with the Mainstream Developer Community

We already know that Freedom Scientific’s JAWS end user license agreement is not friendly to mainstream developers and testers as they work to implement accessibility into their products, services and web sites. As a follow on to this concern, we now hear from Craig Stuntz who reports that no developer program exists for those who have purchased JAWS for this critical purpose. In his most recent blog article, he writes:

One would think that the makers of JAWS would want software producers to test their products with JAWS. But according to a salesperson for Freedom Scientific, there is no developer program for the tool. JAWS is moderately expensive — about $900 — but this is not a barrier for us. What we would really like is to have access to a defect reporting system for JAWS and early access to future versions of the software.

We in the connected online blind community very much do want to see developers striving to improve the accessibility of their applications! The accessibility or inaccessibility of technology makes the difference between our inclusion or exclusion from participation in critical life activities such as those involving education and employment. We urge mainstream developers to continue their efforts using screen readers from companies and open source projects that actively invite and request participation from the mainstream developer community:

We ask all mainstream developers to increase the accessibility of their software and to do so in the most favorable economic manner. Spending a thousand dollars on a screen reader for testing purposes is unnecessary. Download free evaluation copies from companies with more friendly license agreements toward developers or take advantage of free open source alternatives. Accessibility need not break the bank. We’re not asking you to go out of business. Instead, we are just asking for the reasonable accomodations that can afford us the opportunity to learn, work and participate in leisure activities.

Nonvisual Desktop Access (NVDA) Version 0.5 Released

The NVDA developers have released version 0.5 of this open source screen reader. It is now available on the project’s download page. Check out the release notes for this new version.

Changes since r425:

  • Added Czech language files thanks to Tomas Valusek.
  • Added Swedish language files thanks to Daniel Innala.
  • NVDA now has a built-in synthesizer called eSpeak, developed by Jonathan Duddington. It is very responsive and lite-weight, and has support for many different languages. Sapi synthesizers can still be used, but eSpeak will be used by default. eSpeak does not depend on any special software to be installed, so it can be used with NVDA on any computer, on a USB thumb drive, or anywhere. For more info on eSpeak, or to find other versions, go to http://espeak.sourceforge.net/.
  • NVDA now uses the built-in eSpeak synthesizer by default.
  • The built-in eSpeak synthesizer will now start in the language NVDA is set to, unless another voice has previously been chosen.
  • Fix bug where the wrong character was being announced when pressing delete in Internet Explorer / Outlook Express editable panes.
  • Added support for more edit fields in Skype.
  • VirtualBuffers only get loaded when focus is on the window that needs to be loaded. This fixes some problems when the preview pane is turned on in Outlook Express.
  • Added commandline arguments to NVDA:

    • -m, –minimal: do not play startup/exit sounds and do not show the interface on startup if set to do so.
    • -q, –quit: quit any other already running instance of NVDA and then exit.
    • -s, –stderr-file fileName: specify where NVDA should place uncaught errors and exceptions.
    • -d, –debug-file fileName: specify where NVDA should place debug messages.
    • -c, –config-file: specify an alternative configuration file
    • -h, -help: show a help message listing commandline arguments.
  • Fixed bug where punctuation symbols would not be translated to the appropriate language, when using a language other than english, and when speak typed characters was turned on.
  • Added Slovak language files thanks to Peter Vagner.
  • Added a Virtual Buffer settings dialog and a Document Formatting settings dialog, from Peter Vagner.
  • Added French translation thanks to Michel Such.
  • Added a script to toggle beeping of progress bars on and off (insert+u). Contributed by Peter Vagner.
  • Made more messages in NVDA be translatable for other languages. This includes script descriptions when in keyboard help.
  • Added a find dialog to the virtualBuffers (internet Explorer and Firefox). Pressing control+f when on a page brings up a dialog in which you can type some text to find. Pressing enter will then search for this text and place the virtualBuffer cursor on this line. Pressing f3 will also search for the next occurance of the text.
  • When speak typed characters is turned on, more characters should be now spoken. Technically, now ascii characters from 32 to 255 can now be spoken.
  • Renamed some control types for better readability. Editable text is now edit, outline is now tree view and push button is now button.
  • When arrowing around list items in a list, or tree view items in a tree view, the control type (list item, tree view item) is no longer spoken, to speed up navigation.
  • Has Popup (to indicate that a menu has a submenu) is now spoken as submenu.
  • Where some languages use control and alt (or altGR) to enter a special character, NVDA now will speak these characters when speak typed characters is on.
  • Fixed some problems with reviewing static text controls.
  • Added Translation for Traditional Chinese, thanks to Coscell Kao.
  • Re-structured an important part of the NVDA code, which should now fix many issues with NVDA’s user interface (including settings dialogs).
  • Added Sapi4 support to NVDA. Currently there are two sapi4 drivers, one based on code contributed by Serotek Corporation, and one using the ActiveVoice.ActiveVoice com Interface. Both these drivers have issues, see which one works best for you.
  • Now when trying to run a new copy of NVDA while an older copy is still running will cause the new copy to just exit. This fixes a major problem where running multiple copies of NVDA makes your system very unusable.
  • Renamed the title of the NVDA user interface from NVDA Interface to NVDA.
  • Fixed a bug in Outlook Express where pressing backspace at the start of an editable message would cause an error.
  • Added patch from Rui Batista that adds a script to report the current battery status on laptops (insert+shift+b).
  • Added a synth driver called Silence. This is a synth driver that does not speak anything, allowing NVDA to stay completely silent at all times. Eventually this could be used along with Braille support, when we have it.
  • Added capitalPitchChange setting for synthesizers thanks to J.J. Meddaugh.
  • Added patch from J.J. Meddaugh that makes the toggle report objects under mouse script more like the other toggle scripts (saying on/off rather than changing the whole statement).
  • Added spanish translation (es) contributed by Juan C. buo.
  • Added Hungarian language file from Tamas Gczy.
  • Added Portuguese language file from Rui Batista.
  • Changing the voice in the voice settings dialog now sets the rate, pitch and volume sliders to the new values according to the synthesizer, rather than forcing the synthesizer to be set to the old values. This fixes issues where a synth like eloquence or viavoice seems to speek at a much faster rate than all other synths.
  • Fixed a bug where either speech would stop, or NVDA would entirely crash, when in a Dos console window.
  • If support for a particular language exists, NVDA now automatically can show its interface and speak its messages in the language Windows is set to. A particular language can still be chosen manualy from the user interface settings dialog as well.
  • Added script ‘toggleReportDynamicContentChanges’ (insert+5). This toggles whether new text, or other dynamic changes should be automatically announced. So far this only works in Dos Console Windows.
  • Added script ‘toggleCaretMovesReviewCursor’ (insert+6). This toggles whether the review cursor should be automatically repositioned when the system caret moves. This is useful in Dos console windows when trying to read information as the screen is updating.
  • Added script ‘toggleFocusMovesNavigatorObject’ (insert+7). This toggles whether the navigator object is repositioned on the object with focus as it changes.
  • Added some documentation translated in to various languages. So far there is French, Spannish and Finish.
  • Removed some developer documentation from the binary distribution of NVDA, it is only now in the source version.
  • Fixed a possible bug in Windows Live Messanger and MSN Messenger where arrowing up and down the contact list would cause errors.
  • New messages are now automatically spoken when in a conversation using Windows Live Messenger. (only works for English versions so far)
  • The history window in a Windows Live Messenger conversation can now be read by using the arrow keys. (Only works for English versions so far)
  • Added script ‘passNextKeyThrough’ (insert+f2). Press this key, and then the next key pressed will be passed straight through to Windows. This is useful if you have to press a certain key in an application but NVDA uses that key for something else.
  • NVDA no longer freezes up for more than a minute when opening very large documents in MS Word.
  • Fixed a bug where moving out of a table in MS Word, and then moving back in, caused the current row/column numbers not to be spoken if moving back in to exactly the same cell.
  • Increasing and decreasing rate scripts can no longer take the rate above 100 or below 0.
  • If there is an error with a language when choosing it in the User Interface Settings dialog, a message box will alert the user to the fact.*NVDA now asks if it should save configuration and restart if the user has just changed the language in the User Interface Settings Dialog. NVDA must be restarted for the language change to fully take effect.
  • If a synthesizer can not be loaded, when choosing it from the synthesizer dialog, a message box alerts the user to the fact.
  • When loading a synthesizer for the first time, NVDA lets the synthesizer choose the most suitable voice, rate and pitch parameters, rather than forcing it to defaults it thinks are ok. This fixes a problem where Eloquence and Viavoice sapi4 synths start speaking way too fast for the first time.

Let’s All Get Behind Nonvisual Desktop Access!

There is a new screen reader on the scene. It is called Nonvisual Desktop Access. The coolest aspect of this new screen reader is not only that it is free of charge but, also and more important, it is completely open source. This means that anyone with the requisite computer programming skill and the needed free software development tools installed on their computer can make changes to the code comprising the screen reader. I strongly feel that it is time for a bit of a shake up on the access technology scene, and NVDA could just possibly provide that for us.

At this time, NVDA relies on Active Accessibility, Common Object Model, Document Object Model and similar technologies in order to obtain and present information to blind users. It contains no off-screen model, since it is currently not able to take advantage of Windows display hooks. It is my hope that NVDA will, one day, have an OSM and many other items on a very long wish list. That can happen only if qualified individuals become actively involved in the ongoing development of this potentially revolutionary new screen access solution. In order to acquire off-screen model capabilities, for instance, NVDA needs significant code contributions from programmers experienced in the implementation of GDI and similar Windows hooking techniques. Nonvisual Desktop Access is written in the Python programming language. Please learn more about the development of NVDA and get involved in bringing this tool to greatness within the blind community!