Skip to main content

Guidepup Library

Guidepup provides a reliable set of APIs to automate real screen readers through JavaScript.

Guidepup currently supports the following screen readers:

  • VoiceOver for macOS
  • NVDA for Windows
  • Orca for Linux (through the preview unstable_orca API)

Here's a typical example:

import { screenReader } from "@guidepup/guidepup";

(async () => {
// Start the default screen reader for your OS.
await screenReader.start();

// Move to the next item.
await screenReader.next();

// ... perform some commands.

// Stop the default screen reader for your OS.
await screenReader.stop();
})();

Contents:

macOSActivate​

See: macOSActivate

Opens a macOS application if not already open, and focuses the application.

macOSActivateId​

See: [macOSActivateId]

Opens a macOS application from it's ID, if not already open, and focuses the application.

MacOSApplications​

Type: MacOSApplications

Identifiers for standard applications available on macOS.

MacOSKeyCodes​

Type: MacOSKeyCodes

Key codes for macOS.

MacOSModifiers​

Type: MacOSModifiers

Modifier keys for macOS.

macOSQuit​

See: macOSQuit

Quits a macOS application if running.

nvda​

Type: NVDA

This object can be used to launch and control NVDA.

Here's a typical example:

import { nvda } from "@guidepup/guidepup";

(async () => {
// Start NVDA.
await nvda.start();

// Move to the next item.
await nvda.next();

// ... perform some commands.

// Stop NVDA.
await nvda.stop();
})();

NVDAKeyCodeCommands​

Type: NVDAKeyCodeCommands

Key code commands for the NVDA screen reader on Windows.

OrcaKeyCodeCommand​

Type: OrcaKeyCodeCommand

The type of an Orca keyboard command supported by Guidepup.

orcaKeyCodeCommands​

Type: OrcaKeyCodeCommands

Keyboard commands supported by Guidepup for the Orca screen reader on Linux.

screenReader​

Type: ScreenReader

This object can be used to launch and control the default screen reader for your environment.

Here's a typical example:

import { screenReader } from "@guidepup/guidepup";

(async () => {
// Start the screen reader.
await screenReader.start();

// Move to the next item.
await screenReader.next();

// ... perform some commands.

// Stop the screen reader.
await screenReader.stop();
})();

unstable_orca​

Type: Orca

This object can be used to launch and control Orca on Linux. This API is currently in preview.

Here's a typical example:

import { unstable_orca } from "@guidepup/guidepup";

(async () => {
// Start Orca.
await unstable_orca.start();

// Move to the next item.
await unstable_orca.next();

// ... perform some commands.

// Stop Orca.
await unstable_orca.stop();
})();

voiceOver​

Type: VoiceOver

This object can be used to launch and control VoiceOver.

Here's a typical example:

import { voiceOver } from "@guidepup/guidepup";

(async () => {
// Start VoiceOver.
await voiceOver.start();

// Move to the next item.
await voiceOver.next();

// ... perform some commands.

// Stop VoiceOver.
await voiceOver.stop();
})();

VoiceOverCommanderCommands​

Type: VoiceOverCommanderCommands

VoiceOver Commander commands.

voiceOverKeyCodeCommands​

See: voiceOverKeyCodeCommands

Key code commands for the VoiceOver screen reader on macOS.

windowsActivate​

See: windowsActivate

Opens a Windows application if not already open, and focuses the application.

WindowsKeyCodes​

Type: WindowsKeyCodes

Key codes for Windows.

WindowsModifiers​

Type: WindowsModifiers

Modifier keys for Windows.

windowsQuit​

See: windowsQuit

Quits a Windows application if running.