Roles that trigger Forms and Application modes

Hey ,

I'm thrilled to help you learn JavaScript. Unfortunately, you've landed on a page where you cannot access with your current purchase.

Please upgrade (use this link) access this content.

I'm super eager to help you learn more!

Roles that trigger Forms and Application modes

Have you noticed this?

  • You can use and to switch Tabs on NVDA
  • But you can’t use and to switch Carousel slides on NVDA

Why?

The reason is forms mode.

Screen reader modes

Most screen readers (like NVDA) have three operating modes. They are:

  1. Browse (or read) mode
  2. Forms (or focus) mode
  3. Applications

Voiceover does not have forms or application mode. Why? I suspect Voiceover can use Browse mode for everything because it uses VO for browsing shortcuts.

Browse mode

Browse mode (sometimes also called read mode) is the default reading mode for all screen readers.

Users get access to all reading shortcuts when they’re in browse mode. Here are some examples:

Shortcut Command
Say previous line
Say next line
Say previous line
Say next line
H Go to next heading
Shift + H Go to previous heading

Forms (or focus) mode

Forms mode (in JAWS) or focus Mode (in NVDA) are the same thing. They activate when a user enters into elements like an <input>.

When screen readers enter Forms mode, they behave like normal keyboards. Reading shortcuts (like those above) are disabled.

So if a user presses H while in forms mode, screen readers literally hit the H key on the keyboard. They won’t bring the user to the next heading element.

Users can exit forms mode by pressing the following keys:

  • NVDA: Escape or NVDA + Space
  • JAWS: Numpad + key

Application mode

There’s a third operating mode called Application mode. Application mode works like forms mode for web content.

There’s one difference: NVDA cannot exit Application mode with the Escape key. But it can exit Forms mode with the Escape key. (Not sure about JAWS).

Note: Accessibility Developer Guidelines mentions that screen readers disable Tab's default functionality in Application mode. I found this to be false. Tab still works in JAWS and NVDA.

Roles that enter Forms/Application mode

Many aria roles make screen readers enter Forms mode. Most of them are widget roles, but some of them are document structure roles.

Users must Tab (or Shift + Tab) into the element to trigger automatic transition into Forms/Application mode.

Here are the roles that make screen readers enter Forms mode:

  • combobox
  • listbox and option
  • tablist and tab
  • tree, treegrid and treeitem
  • grid, columnheader, rowheader, row, gridcell and cell
  • textbox, searchbox, radio, slider and spinbutton
  • toolbar
  • menu and menubar

These four roles make a screen reader enter Application mode:

  • application
  • menuitem
  • menuitemcheckbox
  • menuitemradio

Be careful when you use any of the roles above. Use them responsibly. Use them only if you need to.