Skip to content

NVDA Keyboard Shortcuts for Different User Needs

Master NVDA keyboard shortcuts for web developers. Navigate content, test forms, and build more accessible websites with this essential guide.

NVDA (NonVisual Desktop Access) is the free screen reader that’s been helping people who are blind and vision-impaired navigate the web since 2006. Created by NV Access, it’s completely open source and works well with Chrome, Firefox, and Edge.

Getting started is simple: Visit http://www.nvaccess.org/download/. The download is free; a donation is optional.

Now, here’s what you need to remember: every NVDA command you’re about to learn comes with an asterisk. Sometimes they work perfectly. Sometimes they don’t work at all. The difference isn’t random – it’s predictable, and understanding why shortcuts fail is just as important as memorising the keys themselves.

Let’s start with that. 

Understanding the three conditions for NVDA success

When NVDA keyboard shortcuts stop working, the problem often lies not with the screen reader or the user, but with the underlying code of the website. A working code is one of three conditions that need to be filled in order for everything to work as it should. The other two are a bit easier to fix, but if any of those aren’t fulfilled, you might as well be pressing keys into the void.

Let’s take a closer look. 

Condition 1: keyboard layout

NVDA speaks two dialects – desktop and laptop.

  • Desktop layout: Uses Insert as the modifier key.
  • Laptop layout: Uses Caps Lock instead.

Important note: Throughout this article, when you see “NVDA” in a keyboard shortcut like “NVDA+1” or “NVDA+F7”, it refers to whichever modifier key your layout uses. So “NVDA+1” means:

  • Insert+1 if you’re using desktop layout.
  • Caps Lock+1 if you’re using laptop layout.

Not sure which you’re using? Press NVDA+1 for a quick test. This activates Input Help mode, and NVDA will announce which modifier key you’re currently set to use.

Did you know? Laptop users often hit another snag: function keys. That NVDA+F7 command everyone raves about? On many laptops, you’ll need Fn+NVDA+F7 instead. Your F7 key might be controlling screen brightness by default, not sending F7 to NVDA.

Condition 2: browse vs focus mode

This takes some getting used to.

NVDA has two distinct personalities:

  • Browse mode: For reading and navigating (H for headings works here).
  • Focus mode: For typing in forms and interacting with widgets.

By default, you’ll hear beeps when NVDA switches between modes. A low beep means Browse mode; a high beep signals Focus mode. Some users find these confusing, but thankfully, you can switch to voice announcements instead through NVDA’s Browse mode settings (NVDA+Control+B).

Now, as good as the automatic switch between modes, it fails spectacularly on poorly coded sites. You can override it manually by using NVDA+Space, but ideally, you shouldn’t have to. 

Condition 3: proper website markup

The markup of a website, i.e., its underlying HTML code, determines whether NVDA users can navigate efficiently or get stuck on your site. For example, why does pressing H find every heading on Wikipedia but nothing on your company’s internal portal?

Simple. Wikipedia uses actual <h1> through <h6> tags. Your portal probably uses <div class="heading"> styled to look like headings.

Quick quality check: press NVDA+F7 on any page. This opens the Elements List – a complete inventory of headings, links, and landmarks. Empty categories? That’s missing semantic markup.

Sites built by developers trained in semantic HTML don’t have these problems. Every shortcut works because the foundations are solid.

Essential NVDA shortcuts every developer must test

Before diving into the shortcut reference table below, here are the critical NVDA commands that reveal whether your code is genuinely accessible. Test these on every component you build.

  • H – Heading Navigation – Tests whether your heading hierarchy uses actual <h1> through <h6> tags. If pressing H finds nothing, you’ve likely used <div class="heading"> instead. This single keystroke reveals whether users can quickly scan your page structure.
  • F – Form Field Navigation – Instantly exposes unlabelled inputs, missing fieldsets, and improper form structure. Every form field should be reachable with F and announce its purpose. No announcement = missing <label> or aria-label.
  • B – Button Navigation – Differentiates real <button> elements from clickable divs. If B skips your interactive elements, you’ve built mouse-only interfaces that fail keyboard users. Real buttons work with both Enter and Spacebar.
  • K – Link Navigation – Tests whether your links use proper <a> tags with valid href attributes. Links made from JavaScript onclick handlers won’t be found. Each link should announce its destination, not just “link.”
  • T – Table Navigation – Immediately reveals whether data tables have proper structure. Users should hear row and column headers when navigating. If T finds nothing, you’ve built div-based layouts instead of semantic tables.

The power tool: NVDA+F7 (Elements List)

This single shortcut provides a complete accessibility audit.

Opens a dialogue showing:

  • All headings (reveals your document structure).
  • All links (shows if they’re descriptively labelled).
  • All form fields (exposes missing labels).
  • All buttons (differentiates real from fake).
  • All landmarks (shows your ARIA regions).

Empty categories in this list = missing semantic markup in your code.

Think of it as your instant quality report. One keystroke tells you exactly what NVDA users will and won’t be able to find on your page.

Mode testing: NVDA+Space

Tests whether your interactive widgets properly trigger focus mode.

Custom components should:

  • Switch to focus mode automatically when focused.
  • Allow manual mode switching when needed.
  • Announce the mode change with a beep.

If mode switching fails, your ARIA roles or keyboard handling are incorrect.

Quick test: tab to your custom dropdown. Does NVDA switch to focus mode? Can users type to filter options? If not, you’ve probably missed role="combobox" or proper focus management.

What failed tests tell you

When shortcuts don’t work, they pinpoint exact code issues.

Shortcut failsThe problemThe fix
H finds nothingMissing semantic headingsUse real <h1><h6> tags
F skips fieldsMissing labels or improper markupAdd <label> or aria-label
B misses buttonsUsing clickable divs instead of buttonsReplace with <button> elements
Mode doesn’t switchMissing or incorrect ARIA rolesCheck role attributes and focus handling
NVDA+F7 shows empty listsNo semantic structureRebuild with proper HTML elements

When these shortcuts fail, you’ve created genuine barriers that prevent efficient navigation.

The comprehensive tables below show all NVDA shortcuts, but master these essential ones first. They’re your quality checklist for accessible implementations.

Complete NVDA shortcut reference

Now that you know what to test for, here’s the complete reference. The full list of NVDA’s keyboard commands can be found in the official NVDA User Guide.

Basics

TopicTaskCommand
On/Off:Turn NVDA onControl + Alt + N
Turn NVDA offInsert + Q
Reading:Stop ReadingControl
Start reading continuously from this point onInsert + ↓ or Numpad Plus (+)
Read next item
Read next focusable item (e.g. link, button)Tab
Activate:LinkEnter
ButtonEnter or Spacebar
Headings:Go to next headingH
Go to next heading of level [1-6]1 – 6
List all headingsInsert + F7
Landmarks:Go to next landmark/regionD
Elements list:Show list of all links, headings, form fields, buttons, and landmarksInsert + F7
Tables:Go to next tableT
Navigate table cellsCtrl + Alt + ↓ or ↑ or ← or →
Lists:Go to next listL
Go to next list itemI
Graphics:Go to next graphicG
Links:List all linksInsert + F7
Go to next linkK
Go to next unvisited linkU
Go to next visited linkV
Navigate:Toggle between: Radio buttons, <select>list items, Tabs (ARIA widget), Tree view items (ARIA widget), Menu items (ARIA widget)→ or ↓ or ← or ↑
Go backward:To previous heading, landmark, table, focusable item, etc.Shift + [H, D, T, Tab, etc.]

Reading text

TopicTaskCommand
Line:Say prior line↑ or Numpad 7
Say next line↓ or Numpad 9
Say current lineInsert + ↑ or Numpad 8
Start of lineShift + Numpad 1
End of lineShift + Numpad 3
Top lineShift + Numpad 7
Bottom lineShift + Numpad 9
Character:Say prior character← or Numpad 1
Say next character→ or Numpad 3
Say current characterNumpad 2
Say character phoneticallyNumpad 2 twice quickly
Word:Say prior wordCtrl + ← or Numpad 4
Say next wordCtrl + → or Numpad 6
Say current wordNumpad 5
Sentence:Say prior sentenceAlt + ↑
Say next sentenceAlt + ↓
Say current sentenceAlt + Numpad 5
Paragraph:Say prior paragraphCtrl + ↑
Say next paragraphCtrl + ↓
Spelling:Spell wordNumpad 5 twice quickly
Spell word phoneticallyNumpad 5 thrice quickly
Spell current lineInsert + ↑ twice quickly
Spell current line phoneticallyInsert + ↑ thrice quickly

Tables

TopicTaskCommand
Table:Go to next (previous) tableT (Shift + T)
Cell:Cell to rightCtrl + Alt + →
Cell to leftCtrl + Alt + ←
Cell belowCtrl + Alt + ↓
Cell aboveCtrl + Alt + ↑

Forms

TopicTaskCommand
List all:List all form elementsInsert + F7
Navigate:Next form fieldF
Next focusable itemTab
Next buttonB
Checkboxes:Select and deselectSpacebar
Next checkboxX
Combo boxes (<select>):Open combo boxAlt + ↓
Browse/select options↓ or the First letter
Select multiple optionsShift + ↓ (or ↑)
Next combo boxC
Radio buttons:Toggle selection↑/↓
Next radio buttonR
Focus mode*:Toggle between focus mode and browse modeInsert + Spacebar

Other commands

TaskCommand
Search for a word or a phraseNVDA + Ctrl + F
Keyboard helpInsert + 1
Next blockquoteQ
Next key you hit ignores NVDA and is a normal keystrokeInsert + F2
Speak characters typedInsert + 2
Speak words typedInsert + 3
Read entire foreground window (e.g. for dialogs)Insert + B
Announce title of the current foreground windowInsert + T

Making NVDA shortcuts work reliably through better web development

When developers use divs instead of headings, create fake buttons, or mismanage focus, they’re actively blocking NVDA users from navigating efficiently.

Think about it: every <div onclick="..."> you write is a potential dead end for the B key. Every heading styled with CSS instead of HTML tags is invisible to the H command. You’re creating a maze where the usual navigation tools simply don’t work.

That’s why training is so important. When developers complete courses like The A11Y Collective’s offerings, they learn to build sites where:

  • Every NVDA shortcut works as intended.
  • Mode switching happens automatically when needed.
  • Focus never gets lost in single-page applications.
  • Dynamic content updates are properly announced.

For example, our ‘Accessible code‘ course teaches developers to build with semantic HTML where NVDA shortcuts work by default. No hacks needed. Meanwhile, ‘ARIA explained‘ takes it further, showing how to enhance complex interactions without breaking navigation.

So, if your team is tired of treating accessibility as an afterthought, this training can help you turn it into a natural part of your development workflow. In the end, NVDA shortcuts will become your testing checklist, not your debugging nightmare.

Ready to build websites where NVDA shortcuts actually work?

Learn how to create sites that work seamlessly with screen readers from the ground up.