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:
- Browse (or read) mode
- Forms (or focus) mode
- 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 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.
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.