JAWS Scripts For TeamTalk Qt
Doug Lee
Last Revised September, 2022

This document describes the scripts for the TeamTalk 5 Qt client and provides tips for using this application with JAWS. This document can be opened from within TeamTalk via a double press of JAWSKey+F1 (or Insert+F1).

Note: This client is referred to here as the Qt (officially pronounced "cute") client to distinguish it from the Classic client.

Table of Contents

System Requirements For JAWS Users

There are no known system requirements for these scripts beyond those for TeamTalk itself. These scripts only support the Qt client. JAWS 17.0 or later is required. JAWS versions older than 2021 have not recently been carefully tested with these scripts.

Script Installation Instructions

To install these scripts on a new system:

  1. Load JAWS if this has not already been done. This will require administrative privileges on the computer.
  2. Run JAWS as the user for whom the scripts are to be installed. This and the following steps must be performed for each user of the computer who will be using JAWS with these scripts.
  3. Download and run, or run directly, the installer for these scripts; and follow the on-screen directions. Be sure to install the scripts in the currently running JAWS version if a JAWS version list is presented.
  4. To verify successful installation, type Insert+Q from within TeamTalk. part of the JAWS spoken response should be a revision number. If you do not hear a revision number, the scripts are not correctly loaded.

Migrating From the Classic Client and Configuring the Qt Client For Accessibility

For tips on migrating from the TeamTalk Classic client to the Qt client, and for differences between the clients, see the TeamTalk Classic To Qt Migration Guide. That page provides the following resources:

Key Sequences

These scripts incorporate commands that consist of sequences of keystrokes, all beginning with a common prefix, or "command keystroke." This approach allows many script commands without the risk of conflicting with application keystrokes. See the "Multi-Key Command Sequences" section of the "Common Script Elements" document for further details, including how to explore the available script commands (similar to exploring a menu system), and how to change the Command keystroke if necessary.

By default, the Command keystroke for these scripts is [. This document may refer to this keystroke as [ or Command; so, for example, [ Tab and Command Tab both refer to typing the prefix keystroke, then separately the Tab key. Some sequences may consist of more than two keystrokes, or "levels"; for example, [ d r would refer to typing [, then d, then finally r.

Script Commands and Features

Moving Focus Among Controls and Windows

In the main TeamTalk window, [ C will focus the channel tree.

In the main window and in private chat windows, [ E focuses the chat input box, while [ H focuses the chat history output box.

In a private chat window, [ T announces whether the other user is typing. The scripts can also announce and/or make a sound when the other user is typing, depending on Quick Settings options. Note that not all TeamTalk clients send the necessary internal notifications to make this work. In particular, the Windows/Linux/MacOS Qt-based client does, but the Windows classic and iOS clients do not. At this writing, text clients such as TTCom also do not. If you are unsure of why you do not receive typing notifications in a particular chat, use Ctrl+I on the user in the channel tree to check the user's client type. Typing indicators are not available in a channel window.

From within any TeamTalk window, type the sequence [ N to move to the next visible TeamTalk window, and the sequence [ Shift+N to move to the previous one. These will include all chat windows and main TeamTalk windows from all open visible instances of TeamTalk Qt. If you also have open and visible instances of TeamTalk Classic and you are also running the TeamTalk Classic scripts, the set of windows may include TeamTalk Classic main and chat windows as well, though the reported window names may not be the same for one TeamTalk type from the other type's scripts. The order of windows may sometimes seem arbitrary but is usually related to the order of window creation.

TeamTalk Status Reporting and Inquiry

While the scripts are running, JAWS will announce automatically any changes in the following on-screen indicators, which appear as checkboxes in a toolbar near the top of the TeamTalk window. For each of these, JAWS will say the indicator name along with "Enabled" or "Disabled" when the indicator changes.

Additionally, if TeamTalk connects to or disconnects from a server, JAWS will say "Connected" or "Disconnected," respectively. These automatic announcements can be turned off and on via the "Toolbar change announce" option in Quick Settings (JAWSKey+V).

[ S will announce a summary of TeamTalk status information. This generally consists of a list of those items from the above set that are currently checked. Typing the sequence [ Shift+S will announce a somewhat more verbose version of the same information.

The sequence [ Q will toggle Question mode via one of the buttons on the toolbar. Question mode produces a blinking icon beside your name in other participants' channel trees. This is similar to raising your hand in some other chat applications.

The standard JAWS command for announcing the application status line, Insert+PgDn, will reliably announce this information even if it is clipped on screen. This information typically includes the rate at which packets are being received (RX) and transmitted (TX). Sometimes, it will also include a ping time, which is an indication of how long it takes data to travel between your machine and the TeamTalk server.

Miscellaneous Commands and Features

By default, JAWS will maximize main and chat TeamTalk windows automatically so that message reading will be more efficient, rather than allowing TeamTalk's native window sizing. Native window sizing can be turned on via the "Allow native window sizing" checkbox in Quick Settings (JAWSKey+V).

As you Up and Down arrow through a chat history window, JAWS will produce a small click sound when you encounter the top or bottom of history.

Message date and time stamps can be ignored during navigation through chat history even when displayed by TeamTalk. This feature is toggled on and off in the JAWS Quick Settings dialog (JAWSKey+V) with the "Suppress message date and time stamps when shown by TeamTalk" option. The JAWS SayLine command, Insert+Up, will speak the stamps regardless of this setting. Typing that command twice will, as usual in JAWS, spell the line but then will honor the suppress-stamps setting for convenience.

The scripts improve JAWS' reporting of correct information for Left and Right arrows, Backspace, Delete, etc. in an edit box. This does not work in a password box, however. For these, JAWS will report the number of asterisks shown.

The standard JAWS Ctrl+JAWSKey+V command for reporting the current application version reports the full correct version number. Without the scripts, the version number is spoken oddly.

The sequences [ X and [ V are added as alternatives to the TeamTalk native commands Ctrl+Alt+X and Ctrl+Alt+V for marking and moving channel participants to another channel. These duplicate commands may be useful to those who struggle with compound keystrokes or prefer sequences over compound keystrokes.

Other random script features:

Features specific to field names and types:

Known Issues

Screen readers may repeat history entries during Up and Down arrowing, especially if the window is not maximized. This is a UIA issue.

Leaving the cursor at the end of a chat history, such as after typing Ctrl+End, will cause the cursor to remain at the end as new lines are added. This means that you must avoid leaving the cursor at the very end of the history if you want TeamTalk to remember where you left off reading. It is ok to leave the cursor anywhere else on the last line.

If a user is selected in the channel tree, such as by arrows, and that user changes status, such as when starting or stopping a stream or going away, screen readers may report a focus change even though none has occurred. This is a Qt issue. A good workaround is to move focus to a channel rather than a user before moving away from the channel tree.

Braille support is not well tested.

Revision History

Here is the revision history of these scripts, most recent revision first:

Revision 398, September 26, 2022, tested against TeamTalk 5.10 and 5.11.0 Beta

Revision 393, July 7, 2022, tested against TeamTalk 5.9 and 5.10.0 Beta

Revision 387, May 2, 2022, tested against TeamTalk 5.8.1 Beta

Revision 357, August 15, 2021, tested against TeamTalk 5.8.1 Beta

Revision 349, August 10, 2021, tested against TeamTalk 5.8.1 Beta

This is the first release of these scripts for the Qt client. The revision number is high because these scripts originated as scripts for the TeamTalk Classic client.