Tuesday, November 30, 2010

Using ZoomText With Dragon NaturallySpeaking

I am familiar with ZoomText but was not sure if it was compatible with Dragon NatInstalling and Using AIM for Facebook Chat With JAWS Screen ReaderurallySpeaking (DNS). So I tried both on a Dell laptop (ZoomText Reader/Magnifier 9.1; Dragon NaturallySpeaking Preferred 10.1; Dell Laptop with 2 GB RAM, Intel Core2 Duo CPU T5850 @ 2.16GHz 2.16GHz, Win XP SP3). They seemed to behave well together.
You do need to pay attention to the system requirements for these applications because they require more processing power and memory than conventional productivity applications. With my setup, DNS consumes about 300 MB of memory, ZoomText about 53 MB and Microsoft Word about 37 MB. I am also running McAfee which sometimes demands about 177 MB of memory and about 66 MB at other times.
I was able to dictate into a Word document and then invoke the ZoomText AppReader to highlight and read the text that I had dictated; I was also able to select some text and say, "Read That," to have DNS read it. What ZoomText didn't do was echo each word that was typed (I had the Typing Echo option set to Word) but that's understandable given that DNS outputs text in phrases/chunks, and by navigating through the text (e.g. word-by-word with Control Left/Right Arrow), ZoomText reads the text. Notice that the DNS Read That command does not highlight/identify the particular word being read as ZoomText does with its AppReader and DocReader tools.
I was also able to give ZoomText commands by voice (e.g. Press Control Numpad Plus to increase the AppReader's reading rate, or Press Alt Numpad Plus to increase magnification) and the commands were correctly recognized by DNS and processed by ZoomText.


While researching the compatibility of DNS and ZoomText, I learned that there is a software application called MagniTalk that supposedly acts as a bridge between DNS and ZoomText. I found several hits on MagniTalk using Google but they all referenced the same vague marketing blurb that states, "MagniTalk provides direct speech access to the ZoomText user interface (UI) with NaturallySpeaking Pro voice commands, serving as a bridge between these two exciting technologies. This means that users of the ZoomText Magnifier & Reader can more easily benefit from the advantages provided by Dragon NaturallySpeaking, continuous speech recognition software." I haven't been able to determine what features MagniTalk really provides and why it is needed on top of DNS and ZoomText. One additional piece of info I found said, "allows the coordinated use of the Dragon NaturallySpeaking voice input program and the Zoomtext screen magnification program."
Note that MagniTalk requires DNS Professional as it is likely using the scripting capabilities included in that version of DNS. The Preferred/Premium version lacks this feature.
Still, by learning a few ZoomText hotkeys, it is possible to work quite efficiently with both ZoomText and DNS. Many ZoomText users are likely already familiar with the hotkeys. Trainers tend to encourage their use because it makes using ZoomText more efficient. DNS processes keyboard commands well though I found found a few glitches that you should pay attention to; see the ZoomText Hotkeys section below.
So I don't think DNS Preferred/Premium users should despair. For the average user, Magnitalk isn't required. Note: Magnitalk costs $290US.

ZoomText and DNS Settings

Spend some time experimenting with the different ZoomText tracking settings. You might find that the following work for you:
  • Tracking
    • Track on: Mouse Pointer, Text Cursor, Menus, Controls Windows
    • Area to track: Entire Screen
  • Alignment
    • Mouse pointer: Within edge margins (15%)
    • Text Cursor: Within edge margins (15%)
    • Control and menu item: Centered within the zoom window
  • Mouse
    • Route pointer into view when it is moved
    • Route pointer over the active control
Note that after modifying ZoomText settings, you must select Save As Default from the File menu to save the settings for future sessions.
These DNS options are recommended:
  • View
    • DragonBar Mode: Docked To Top, Show Messages
    • Then create a Freeze Window for the DragonBar. This will allow the DragonBar to always to appear in the magnified window so you can observe e.g. microphone status, message line. The size, position and magnification level of the Freeze Window can be adjusted; it sits on top of the Full zoom window while the Full zoom window continues to scroll and display all areas of the screen. Create the Freeze window as follows:
      • ZT Magnifier menu, Freeze Window... dialog box
      • select the left-hand side so the microphone status and the message line will always be in view; if your magnification level doesn't permit both the mic status and message to remain in view, select only the left-hand side of the message area
      • use "Press Control Shift E" to enable/disable Freeze Window
      • note that the Freeze Window only works with the Full zoom window type and you cannot interact with it i.e. if a DragonBar menu is visible in the Freeze Window, you cannot bring the keyboard focus to it or click it with the mouse -- you need to navigate to the part of the screen that contains the actual DragonBar to interact with it.
    • Results Box: uncheck Anchor to allow Results Box to float around the window as you dictate
  • Commands
    • Require "click" to select hyperlinks in HTML windows
    • Require "click" to select menus and control
  • Miscellaneous
    • Use screen reader compatible menus
    • Use Active Accessibility for menu and dialog control

Using the DNS Correction Menu

To display the Correction menu, select the text you want to correct and say "correct that" or say "Press Num Pad Minus" or press Num Pad Minus key on the keyboard.
Voice commands that work in this dialog include:
  • "Press down arrow" to highlight an alternative and "Press Enter" to activate it OR "Press <number of alternative>" to both select and activate it e.g. "Press one"
  • "Press Alt P" to play back your dictation; the advantage of using this hotkey is that you won't hear ZoomText speak the name of the menu item and its tutor message
  • "Press Alt S" to open the spell dialog box; for best results, use the radio alphabet to spell the word(s)

ZoomText Hotkeys

Below are what I consider to be the most useful ZoomText hotkeys. You can issue these by voice with DNS. Keep the following in mind:
  • giving these commands to DNS by voice will increase the response time slightly over typing the commands directly via the keyboard
  • be sure to precede each of these hotkeys with the word "Press" (e.g. "Press Alt Shift Q")
  • do not pause in the middle of one of these commands; pause before and after
  • if DNS is not recognizing one of the modifier keys when speaking multiple keys, try switching the order e.g. I've had better success with "Press Alt Control W" than with "Press Control Alt W"
  • if DNS is misrecognizing a letter, use the radio alphabet e.g. "Press Alt Control Whiskey"
  • DNS won't accept a single modifier (e.g. "Press Control"); fortunately, you can use "Press Alt Shift Q" for the Quiet command
  • if you are using a laptop that lacks a Num Pad, you may have trouble speaking the ZoomText hotkeys that use "Num Pad 5"; you can work around this by modifying the hotkey for these in the Hotkeys dialog box that's found in the Settings menu e.g. change "Control Num Pad 5" to "Control ; (semicolon)" for the Say Current Word command.
  • AppReader: Alt Shift A
  • DocReader: Alt Shift D
  • Toggle Reading (Play/Pause): Enter
  • Exit AppReader/DocReader: Escape
  • Quiet Speech: Alt Shift Q
  • Increase Reading Rate: Control Num Pad Plus
  • Decrease Reading Rate: Control Num Pad Minus
  • Increase Magnification: Alt Num Pad Plus
  • Decrease Magnification: Alt Num Pad Minus
Document Navigation
  • Next/Previous Word: Control Right/Left Arrow
  • Next/Previous Line: Down/Up Arrow
  • Next/Previous Sentence: Alt Control Right/Left Arrow
  • Next/Previous Paragraph: Control Down/Up Arrow
  • Scroll Down/Up: Alt Down/Up Arrow
  • Scroll Right/Left: Alt Right/Left Arrow
  • Jump Up/Down: Alt Page Up/Down
  • Say Window Title: Alt Control W
  • Say All: Alt Control A
  • Say Time: Alt Control I
  • View Mode On/Off: Control Shift V
  • Speech On/Off: Alt Shift S
  • Enable/Disable ZoomText: Alt Insert/Delete
  • Display User Interface: Control Shift U
  • Open Magnifier Menu: Alt M (when UI has focus)

Wednesday, October 27, 2010

Installing and Using AIM for Facebook Chat With JAWS Screen Reader

As I stated in my blog post on Resources For Getting Started With Facebook Using JAWS Screen Reader, Facebook acknowledges that the current implementation of its Chat application may cause problems for screen readers and they recommend that a desktop instant messaging client such as AOL Instant Messenger (AIM) be used instead. In this blog post, I explain how to use JAWS 11 to download and install the current version of AIM (7.4), login with your Facebook user name, and perform the basic tasks that will allow you to chat with your Facebook friends. But before I get started on that, I will summarize two podcasts that already exist about using JAWS with AIM.

AIM and JAWS Podcasts

During the last 28 mintues of the March 2010 FSCast, Jonathan Mosen interviewed AOL Accessibility Director Tom Wlodkowski about how well JAWS is working with the new social networking features, including Facebook Chat, in AIM 7.2. Tom said that the objective of AIM is to become a universal communications platform. Previously, it permitted text, video and voice communication only with other AIM users but starting with version 7.2, AIM is now integrated with Facebook Chat. AIM also includes a new component called Lifestream which Tom describes as a "social network aggregator." Lifestream allows you to review the feeds from all of the social networks you've set up. You can update your status within AIM and have it posted to these social networks. Tom demonstrated how to sign in to AIM using your Facebook user name, locate a Facebook friend in your Buddy List and start a chat session with them. He also demonstrated some of the keyboard commands that make reviewing messages in the Conversation window easier. These commands are courtesy of the AIM scripts which were written by Doug Lee of SSB BART Group and are now included in the JAWS installation as of version 11.
In April 2010, Darragh Ó Héiligh of DigitalDarragh published a podcast about Using facebook chat with AIM and Jaws 11. Darragh wasn't able to sign into AIM 7.2 with his Facebook user name so he tried to create an AIM user name within the AIM application. He didn't find the form accessible (the only part I had difficultly with in AIM 7.4 was the audio CAPTCHA -- nothing happened when I activated the "audio" link) so he went to the AIM web site to create an AIM user name. That process plus the difficulties he had completing the audio CAPTCHA means that the first 26 minutes of the 44 minute podcast covers only downloading, installation and AIM account creation.

Installing AIM

The JAWS scripts for AIM make AIM more accessible to JAWS and are included in the JAWS installation after version 11.0.756 (see AIM 7.2 Integrates with Facebook Chat). Note that the AIM 7 and Accessibility option help page states that "For optimal performance, JAWS needs to run AIM-specific scripts when AIM is in use. Freedom Scientific includes these scripts in their standard JAWS installation but occasionally changes may be made to the AIM interface that require AOL to update the scripts. You can download and install AIM scripts at http://www.aolcdn.com/aolhelp/jaws_script.exe." I've compared the AIM scripts in the JAWS 11.0.1467 installation with those on the AOL web site and found that the scripts in the former are more up-to-date than those in the latter i.e. the AIM scripts installed with JAWS were last modified in February 2010 (and are located in C:\ProgramData\Freedom Scientific\JAWS\11.0\SETTINGS\enu) while the AOL version were last modified in August 2009 (are installed in C:\Users\<username>\AppData\Roaming\Freedom Scientific\JAWS\11.0\Settings\enu).
The steps for downloading and installing AIM are:
  1. Go to aim.com
  2. Locate and activate the Download AIM link
  3. Activate the Run button in the File Download and Internet Explorer Security Warning dialog boxes
  4. In the Installation Options dialog box, tab to and possibly uncheck the additional options; then tab to and activate the Install button
  5. Activate the Chat now button to start AIM
  6. You have 3 login options: Get an AIM user name, sign in with AIM or sign in with Facebook. Tab to the Facebook button and activate it.
  7. A Facebook login window opens. Type your Facebook user name / email and password. Then tab to and activate the Login button. [Note: If JAWS has difficulty with this form, exit from AIM (Alt Shift F4), restart AIM and try signing in again.]
  8. When you first sign in with your Facebook account, a Request for Permission form appears that describes what data from Facebook AIM plans to use. Tab to the Allow button and activate it.
  9. The Facebook login window closes and you're back at the AIM Login screen. The "Remember me" and "Automatically sign me in" checkboxes are enabled. The focus is on the Sign In button. Activate it.
  10. The Buddy List Builder window opens. By default it is set to import friends from your Facebook "address book." Enter your Facebook user name / email and password. Then tab to and activate the Find button.
  11. Activate the Continue link. To add Facebook to your Lifestream tab, locate and activate the Set up Lifestream link.
  12. The AOL Lifestream web page opens. Close it.
  13. Close the Buddy List Builder window e.g. activate the Close link.

Privacy Settings

To display the Privacy Settings:
  1. Open the Menu (Alt M) and select Privacy (press P).
  2. Tab through the various controls to review and possibly modify the following:
    • Who can IM me and see me online
    • Who can see my Buddy list
    • Allow others to see: there are 3 options here.
  3. Tab to and activate the Save button if you've made any changes to the settings.

AIM Settings

To review all of your settings:
  1. Open the Menu (Alt M) and select Settings (press S).
  2. A dialog box is displayed with a list of the types of settings on the left, and the controls to modify those settings on the right.
  3. Tab through the various controls to review and possibly modify your settings.
  4. When the focus is on the last control for that setting type (usually the Cancel button), press Tab to move to the list of settings; press up or down arrow to change the setting type; the controls on the right-hand side automatically appear so press Tab to access them.
  5. Particular settings you might want to review:
    • General IM: the JAWS Help recommends that you uncheck the "Flash the window when IM messages are received" check box
    • Sign In / Sign Out
      • When I sign in, display the following: select None radio button versus Welcome page by pressing down arrow
      • Start AIM when Windows starts
      • AIM Upgrades
  6. Tab to and activate the Save button if you've made any changes to the settings.

JAWS Verbosity Settings for AIM

When AIM has the focus, press Insert V to display the JAWS Verbosity settings dialog box. You'll find several AIM-related settings at the top. The default settings are probably okay.

Buddies, Lifestream and Me Tabs

When you login, you'll probably be positioned on the Buddies tab. The two other tabs you can access are Lifestream and Me. Press Control Tab to switch between these 3 tabs.
The Buddies tab is a tree view containing groups of people that you can communicate with. Use your up and down arrow keys to move up/down through the Buddies list. Press right arrow to open a group which displays a list of names beneath it. Press left arrow to close the group. If you have logged into AIM with your Facebook user name, you should now have a Facebook Friends group that lists all of your Facebook friends that are online. If your friend/buddy is not online, he/she will appear under the final group, called Offline. For quicker access, start typing a name to shorten the list to only those names containing the letters you typed. To display all of your buddies again, press Escape.
If you didn't sign in with your Facebook user name during the installation process, you can still do so from the Buddies tab. Tab to and activate the Facebook Connect link. A Facebook login window opens. Follow the instructions beginning with Step 7 in the Installing AIM section above.
The Lifestream tab brings together updates from social networking sites that you setup including AIM, Facebook, MySpace and Twitter. From here you can Comment, Like and update your status. You can filter which updates appear via the Expand Filter Options link; press Enter on it to open/close the list. There is also a search edit box which opens a new web browser window to display the results in the online version at lifestream.aol.com. Next you'll find a Refresh button. Tab through these controls and then through the updates from the sites you've integrated into AIM. Each update is a list item so you can use the navigation quick key, I, to move to the next update.
As described above, if you choose to sign in with your Facebook user name during the installation process, you'll be asked if you want to add Facebook to your Lifestream tab. You can add other social networks to Lifestream from the Me tab. Activate the appropriate link e.g. "Add Twitter to your Lifestream." You'll be taken to the Lifestream web site. A pop up dialog will describe what you'll be able to do on Lifestream and include two buttons: Go to service and Cancel. Depending on the service, you may need to sign in and/or allow Lifestream to have access to your data.
The Me tab shows a summary of information related to your AIM account. It also displays Facebook notifications and your updates. Press Tab to move through the links and controls. Press H to move to the Notifications or My Updates tabs as they are coded as heading level 3.
Updating Your Status
The "Set your status message" edit box appears above these 3 tabs so use Shift Tab to access it if you're in the Buddies list, etc. Type your status update here. Beneath is the "Post: button menu" to select which social networking site to post the update to; press Spacebar to open and Escape to close. Then tab to the "Set your status or hit Escape to cancel" button and activate to submit your update.

Chatting with a Facebook Friend

To start a chat with a Facebook friend, locate them in your Buddies list. Press Enter on their name. You can also press the Application key to display a context menu of actions you can perform. AIM refers to Facebook chat as IM (for Instant Message) so select that menu item. You'll notice that its shortcut is Alt + I.
A new "Conversation" window opens with the title "IM - <name>" and the focus is in the message edit box. Type your message, tab to and activate the Send message button. If you are within AIM but not in the Conversation window, JAWS alerts you when your friend replies -- you'll hear a sound and their name. The easiest method for reading a new message is to use the "review conversation history" command provided by the AIM scripts for JAWS. For example, press Alt+1 to hear the last message, Alt+2 to hear the second last, up to Alt+0 which reads the tenth previous message. Otherwise, you could always navigate through the Conversation History list. Press Shift Tab to move from the message edit box to the Conversation History list. Use Alt left and right arrow to move up and down through the list; JAWS will read your messages and the replies.
JAWS commands (courtesy of the AIM scripts) that you might want to try include:
  • Jump to the message edit box: CTRL+SHIFT+E
  • Jump to the Conversation History list: CTRL+SHIFT+H
  • Review Conversation History (Last 10 Messages): ALT+1, ALT+2, ALT+3, and so on through ALT+0, where ALT+1 is for the last message and ALT+0 is for the 10th previous message. Note that these commands leave the keyboard focus on the current control (most likely the message edit box!).
  • Move to a Specific Message: Press ALT+1 through ALT+0 twice quickly to move focus to a message. [Note: I've been unable to get this command to work properly; all variations of it move me to the second last message.]
When you are done with your chat, press Escape to close the Conversation window.

Learning More About AIM

The JAWS Help Topics contain information about AIM. You'll find it in the Popular Applications With JAWS section. The topic is entitled, AOL Instant Messenger. A quick way to display this is to press Insert F1 twice quickly when AIM has the focus.
To read the AIM Help, press F1. It displays in a new web browser window.
The AIM Help page about Chatting, Buddies & Away Messages contains a list of keyboard shortcuts. Many of these shortcuts appear in the Menu which you can open with Alt M.

Exit AIM

If you use the standard Windows close command, Alt F4, to close AIM, this merely closes the AIM window; it is still running in the background. You can reopen it from the Notification Area by opening its context menu and selecting Show Buddy List.
To completely exist from AIM, open the Menu (Alt M) and select Exit AIM (press X) or use the shortcut key (Alt + Shift + F4).

Wednesday, October 20, 2010

Review of The Illustrated Guide to Assistive Technology and Devices by Suzanne Robitaille

Suzanne Robitaille's goal in writing The Illustrated Guide to Assistive Technology and Devices was to provide "the most useful and up-to-date technologies that are available for purchase today." She succeeds admirably! This book is a very comprehensive survey of assistive technology (AT) for all types of impairments: visual, hearing, physical, communication and cognitive/learning disorders. It touches on all of the technology needs within a specific disability whether for work, home or lifestyle. It includes low-tech and high-tech hardware, software and gadgets with "closer attention to products at the higher end of the technology spectrum."
Prior to discussing assistive technologies for a particular disability, Robitaille succinctly describes the main characteristics of it to aid the reader in understanding the problems that AT is solving. She explains the purpose of each type of technology, highlights issues in specific areas, mentions lower cost alternatives, and discusses advantages and disadvantages.
The tools and gadgets are well classified within each type of disability which makes locating a particular type of technology easy. The best examples of actual products are mentioned so that you have a starting point for further research. Several of these are illustrated with well selected black-and-white photographs, screen shots or diagrams. The book is also well-indexed.
Robitaille goes beyond presenting a catalogue-style product listing in several ways. She intersperses tips about specific products or services throughout the book, and includes several "user stories" that describe a person and the particular assistive technologies that are helping them to deal with their impairments within a specific context of use. She also discusses societal issues (e.g. deaf culture, campaign to end the use of the R-word) and legal issues (e.g. inaccessible software and web sites).
Given its comprehensiveness and readability, at 232 pages this book is not a tome. You will need to look elsewhere for specific product details. The Resources section will help with this. It lists vendors by disability type including their mailing address, web site address and the products mentioned in the book.
Another useful chapter at the end of the book offers suggestions for how to pay for AT. But the book is US-centric, so readers from other countries will have to use these funding resources as a guide to the types of resources they should seek out in their own locale.
The Illustrated Guide to Assistive Technology and Devices is highly recommended for AT specialists for two reasons. First, it is a challenge to stay current. Never have there been so many AT product offerings and we are also witnessing the incorporation of AT into mainstream products like never before. This book was published in December 2009 so it will update you (but it would be great if there was a companion web site to maintain the currency of the information). Second, even if you focus on a specific type of disability, clients often present with multiple impairments so having a broad understanding of AT across the spectrum may allow you to point such clients in the right direction.
Robitaille says that for the AT user, the real challenge is "finding the right devices and gadgets, for the right purpose, at the right price." Her book is an essential resource for anyone who needs to meet that challenge or assist those who do.
Note: This book is available in a variety of alternative formats from ReadHowYouWant.com (Braille, large print, MP3, DAISY, NISO 2005).

Monday, October 18, 2010

Skype 5 Resolves v4.2 Accessibility Issues With JAWS And Windows 7 64bit

I recently migrated a JAWS user from Windows Vista 32 bit to Windows 7 64 bit. She was using Skype 4.1.179 on Vista successfully. With the Windows 7 migration, I installed the latest version of Skype ( and we found it completely unusable. Skype 4.2 was not fully keyboard accessible with the biggest issue being that we could not arrow through the Contacts list to select a contact to call (and we did have Extended Keyboard Navigation enabled). Much worse, JAWS would not speak the names of the controls! We were able to revert back to an earlier version of 4.1 ( -- not the exact same version as was previously installed on Vista) and we experienced similar problems.
We then installed Skype 5 and this has resolved the issues. The interface is navigable via the keyboard and JAWS speaks the names of the controls. Below are some tips for installing Skype 5 and some changes that we've noticed, including a new item in the Accessibility submenu, "Screen Reader Mode".

Installing Skype 5

  1. Download the software from http://www.skype.com/go/getskype
  2. Start the installation. When the installer appears, select your language (if necessary), then tab to the Options button and press Spacebar to activate it. Tab to the checkboxes and uncheck any options you do not want e.g. Extras Manager, Plugins, Toolbar for Google Chrome, Start Skype when computer starts.
  3. Tab to the "I agree - install" button and activate it.
  4. When Skype launches, a Welcome screen appears. If you do not want to see it again, tab to the "Show Welcome screeen at Startup" checkbox and uncheck it.
  5. If you are ready to continue, tab to "Close this Welcome screen and start using Skype."

Configuring Skype 5 For JAWS

There are now two accessibility options located in the Tools menu (Alt T), Accessibility sub menu (press A): "Extended Keyboard Navigation" and "Screen Reader Mode". With either or both of these options enabled, you can tab to all controls within Skype and JAWS will speak their names and/or contents. If both of these options are turned off, you will be unable to access some controls e.g. Contacts tab, Recent tab, Add a contact link, list items in "Chat content widget list view" of Conversations window (down arrow just seems to move the scroll bar) and links or buttons (such as Open File) in a list item. Also, JAWS will not identify where the keyboard focus is. I have been unable to find a difference between Extended Keyboard Navigation and Screen Reader Mode thus far and have been unable to locate any documentation about Screen Reader Mode.
For ease of navigation, change the view to Compact from Default; this causes a conversation to open in a separate window rather than to the right of the contact list, in one main window: View menu (Alt V), Compact View (press M).
For efficient call answer and hang up, enable the hotkeys: Tools menu (Alt T), Options (press O), down arrow to Hotkeys, Tab to "Enable keyboard shortcuts" checkbox, Tab to shortcuts listbox, use down arrow to locate hotkey and Spacebar to select e.g. Answer call (Alt Page Up), Hang up (Alt Page Down), Tab to Save button and press Spacebar to save changes and close dialog box.
Review other Options especially General, Privacy, Alerts & messages, Call, IM, SMS, Advanced: Tools menu (Alt T), Options (press O), down arrow to setting category (vertical "tree view" on left-hand side), tab to controls for modifying settings (right-hand side), tab to Save button and activate when done (also closes Options dialog box).

Notable Differences From Version 4.2

The Conversations list is now called "Recent" and it contains History as well.
When you start Skype 5, it automatically opens a "Skype Home" window which gives you access to your Profile, Facebook News Feed and a Give Feedback form. If you are in Compact view, this will be in a new window so you might want to Alt Tab to that window and close it; it then seems not to reopen the next time you start Skype.

Other Helpful Tips

A quick way to move to your Contacts list is with the Alt 1 hotkey; use Alt 2 to switch to the Recent tab. These hotkeys are listed in the View menu in case you forget them.
To send a file, locate the contact in either the Contacts list or Conversations list. Press the Application key to display the context menu. Down arrow to the Send File... menu item and press Enter (or press the access key, D). A typical Windows file browser dialog box opens. Select the file and then press Enter to activate the Open button. A conversation window opens with the focus in the message edit box. To check the status of the file, Shift Tab 3 times until you arrive in the "Chat content widget list view"; press the End key to go to the bottom of the list.

Thursday, October 14, 2010

Configuring WordPress.com Blog Widgets In Accessibility Mode Using JAWS Screen Reader and Firefox WP Widgets In Accessibility Mode

I recently wrote about how to configure widgets for the WordPress blogging software. This was in response to a question someone asked me. But it turns out that the question was from a blogger who created their blog on the WordPress.com web site. The blog I'm working with is being provided by my web site's hosting company (1and1.com) and it is an older version of the WordPress blogging software. In another blog post I wrote about Accessibility Issues With WordPress.com, JAWS 11 & Internet Explorer 8; basically, JAWS doesn't recognize this version of WordPress as being composed of web pages so it's unusable. But I decided to try WordPress.com using Firefox version 3.6.10 and have found that it is much more accessible to JAWS version 11. The only part of the blog administration interface that I've explored in detail thus far is the Widgets page. Below I describe how you can configure widgets for your WordPress.com blog using Firefox version 3.6.10 and JAWS version 11. And the good news is that you don't need to use the JAWS Drag and Drop command -- the secret is to enable the "accessibility mode" screen option.

Layout of Widgets Page

The Widgets page is divided into different widget areas. The centre portion of the page consists of two widget areas: Available Widgets and Inactive Widgets. Available Widgets are listed alphabetically in two columns and represent all of the widgets that you can add to your blog depending on the theme that you have selected. Inactive Widgets are also listed in a two column format if you have enough of them. Inactive Widgets are those that you had on your blog at one point and decided to remove but not delete because you wanted to retain the settings. If you change to a different theme, widgets from the previous theme that aren't a default for the new one will be moved here as well.
The right portion of the Widgets page contains the widgets currently displayed on your blog in a single column and organized into one or more widget areas depending on the theme you have selected. For example, the most popular theme, Kubrick, has only one widget area entitled "Sidebar." The Twenty Ten theme has 6 widget areas: Primary, Secondary and four Footers.
According to the WordPress.com Widgets Help page, "If you haven’t added any widgets to your sidebars, the theme will show a default set of widgets, which will not be listed in the Sidebar area. When you add widgets to a sidebar the default set of widgets will no longer be used. Try adding a blank Text Widget if you don’t want anything to show up in a widget area."
The Widgets page uses headings extensively and this is how I recommend that you locate the various lists of widgets. Each widget area name is a heading level 3. Each widget name is a heading level 4. Because adding a widget to your blog doesn't remove it from the Available Widgets area, I like to ensure that I'm selecting the correct widget by using the Headings List (Insert F6) to find the widget area and then pressing down arrow in the list to find the widget I want to add or edit.

Adding and Editing Widgets with Drag and Drop

By default, the method used to add a widget is to drag it from the Available Widgets or Inactive Widgets area into one of the widget areas on the right side of the page. After you've dropped a newly added widget, a form will open up in the page below the widget heading so that you can configure it. To remove a widget, drag it back to the Available Widgets area or the Inactive Widgets area, depending on whether you want to keep its settings or not.
I tried using the JAWS Drag and Drop command to perform the above actions. I was successful to a certain extent. One difficulty I had was being unable to position a widget. When adding a new widget, it would always appear at the end of the list even when I had positioned the cursor between two other widgets. I can reorder the widgets using the JAWS Drag and Drop command only if I move a widget down; it just stays in its original position when I try to move it up. More importantly, I'm unable to perform the drag and drop if the source and destination aren't both simultaneously visible on the screen. So I wasn't able to drag an Inactive widget into my Sidebar because the Sidebar is located at the top of the page, and I have to scroll down to access the Inactive Widgets area.

Adding and Editing Widgets with Accessibility Mode Enabled

After trying to drag and drop widgets with the JAWS Drag and Drop command, I fortuitously discovered a link near the top of the page called "Screen Options". Activating this opens a new section on the Widgets page where you can activate a link entitled "Enable accessibility mode". After doing this, the Widgets page changes so that drag and drop is no longer required to add, remove and reorder widgets. Instead, "Add" or "Edit" links now appear to the right of each widget name.

Widget Configuration Page/Form

When you activate an Add or Edit link for a particular widget, the Widgets page is replaced by the configuration form for that widget. Read the Issues section below for my suggested navigation strategy for this form. Important form fields that you'll find for all widgets include:
  • Sidebar and Position: a table with 2 columns.
    • The first column contains a group of radio buttons. The last one is for the Inactive Widgets area. Above that will be a radio button for each widget area your theme supports.
    • The second column contains a combo box for the position the widget is to occupy in the widget area. So this is how you order the widgets in the widget areas on your blog. The position will be a number from 1 to the number of widgets you currently have in that area + 1. (Note that the Inactive Widgets area does not have a position combo box.)
  • Cancel: second last button (which is actually a link); present if this is a widget you've chosen to add; activate this button if you decide not to add the widget as it returns you back to the Widgets page.
  • Delete: second last button; present if this is a widget you've chosen to edit; activate this button to delete the widget from your blog (it will still appear in the Available Widgets area); it also returns you back to the Widgets page.
  • Save Widget: last button; you must activate this button to save your changes; it also returns you to the Widgets page.


I've encountered the following 3 issues on the Widgets page.
Selecting a Widget to Add or Edit
You have to be very careful that you activate the correct Add or Edit link. Because they all have the same name, I use the Headings List to locate the widget area I want to go to e.g. Available Widgets. Then I press down arrow within the Headings List to find the widget I want e.g. Calendar. I press Enter to go to that location on the page. At this point I would expect to press the Tab key to go to the Add or Edit link for the widget because the link visually appears to the right of the widget name. But within the HTML source code for the web page, the link precedes the widget's heading tag, so pressing Tab takes me to the Add/Edit link for the next widget (Categories in this case)! So remember to Shift Tab from the widget heading to move to the correct Add or Edit link. I also recommend that when the configuration form for the widget displays, you check the widget heading to ensure you've selected the correct one; it is a heading level 3 and for the calendar widget, it is named "Widget Calendar".
Widget Configuration Form Navigation
Most configuration forms contain static text that you should read. If you go to the first form field via the Form Fields List, and Tab to the remaining fields, you'll skip over important text positioned above or below the fields that you should read. The most reliable method I've found for ensuring I don't miss any static text is to start from the form heading (level 3) via the Headings List and then press down arrow to read all static text and locate each form element.
Also, I've found that tabbing skips over the unselected "sidebar" radio buttons. It is important that you are able to access these because you may want to move a widget from one area to another (e.g. Inactive to Sidebar). You'll be able to locate the unselected radio buttons if you down arrow through the form but you'll get there more quickly if you use the Form Fields List.
Unable to Enable Accessibility Mode with Internet Explorer 8
As I said in my introduction, I've been unable to get JAWS 11 to work with the WordPress.com administration interface using Internet Explorer 8. For some reason, JAWS doesn’t think the site is composed of web pages. This means that I'm unable to use the commands that JAWS provides to navigate web pages. These include the JAWS navigation quick keys and list commands. I can't even get the JAWS cursor to move inside the page. What I'm able to do is navigate to the Widgets page via tabbing but once there I cannot tab to the Screen Options link. I can sort of put the focus on it via the Find command (Control F) but I'm not able to activate the link.

Wednesday, October 6, 2010

Resources For Getting Started With Facebook Using JAWS Screen Reader

There are several online resources that can help you learn how to use Facebook if you are a JAWS user.

An Introduction to Facebook by JoAnn Becker

During the first 45 minutes of this Accessible World Tek Talk podcast, JoAnn Becker demonstrates how to create an account, build a personal profile, add friends, upload photos and modify settings. This is followed by a 26 minute question and answer session. Note that various aspects of the Facebook interface have changed since this podcast aired on July 20th, 2009; the most significant changes are to the privacy settings.

Facebook Accessibility With Screen Readers

This podcast appears on BlindCoolTech.com. It features Armando Maldonado using JAWS 10, is 24 minutes long and is dated January 17, 2010. Unfortunately, Armando demoed the "Lite" version of the Facebook, optimized for users on slower or intermittent Internet connections; it offered fewer services, excluded most third-party applications and required less bandwidth. Facebook Lite was only operational for 8 months; it was discontinued on April 10, 2010 so you will now be redirected to the regular version at www.facebook.com if you try to go to lite.facebook.com. A major portion of the podcast covered the Chat feature which must have been implemented differently than the Chat that's currently available on the regular Facebook site. The Facebook Help Centre on Accessibility and Assistive Technology says, "At this time, Facebook Chat uses dynamic web content that may cause problems with some screen readers. We are working to resolve these problems. As an alternative, Facebook Chat now supports Jabber, so you can chat with your Facebook friends using your favorite desktop IM client (i.e. AIM 7.2)." Finally, Armando stated that you require assistance from a sighted person to register with Facebook due to the CAPTCHA. However, this isn't true because there is an audio CAPTCHA; to invoke it, locate the link entitled "an audio captcha".

An Introduction to Social Networking

On April 19th 2010, Anna Dresner discussed the differences between Twitter, Facebook, and LinkedIn and when you might use each. Note that shortly after, Facebook announced that they will no longer offer a “Lite” version of their web site. This is a 53 minute Accessible World Tek Talk podcast.

Social Networking Privacy Options

This article by Marc Grossman of the American Foundation For The Blind discusses privacy settings available on Facebook, Twitter and LinkedIn. It was published in the August 2010 issue of AccessWorld but as of the time of writing this blog post, there have been some changes to Facebook including:
  • Marc says that he is unable to change his privacy settings on the mobile Facebook site but I've found that you can change most of your settings there (use the Settings link). The settings you cannot change include: Applications, Games and Websites (except Public Search), album privacy for existing photos, and Block application or events invites.
  • The easiest way to learn more about Facebook's privacy controls is to follow the link entitled Privacy located in the footer of every page on the regular/full Facebook site.
  • The content on the Privacy Settings page has changed; there are now only 4 major sections: Basic Directory Information, Sharing on Facebook, Applications and Websites, and Block Lists. Also, probably the easiest way to navigate to this page from the Home page is via the "Edit My Profile" link followed by the "privacy settings" link.
  • The privacy setting options are contained in a "button menu". You can locate these via JAWS with the Form Fields List (Insert F5). Press Spacebar to open the menu, press down/up arrow to navigate through it and press Enter to select a particular item e.g. Everyone, Friends of Friends, Friends Only or Customize. JAWS reads all of the menu items including the current setting ("checked").

Facebook tutorials for screen reader users

Stacey Bleeks wrote 4 tutorials about using Facebook with Internet Explorer on May 1st, 2010. They include: basic navigation; finding friends, sending messages, posting to your friend's wall; accessing your wall; changing your profile picture. She includes commands for JAWS. There have been some minor changes to the interface e.g. terminology, steps for uploading the profile picture.

Installing and Using AIM for Facebook Chat With JAWS Screen Reader

In this blog post, I explain how to use JAWS 11 to download and install the current version of AIM (7.4), login with your Facebook user name, and perform the basic tasks that will allow you to chat with your Facebook friends. I also summarize two podcasts that already exist about using JAWS with AIM.

jaws for windows users Facebook Group

This public group is described as "a group for all facebook users who use the screen reader Jaws For Windows." It currently has 94 members. The last item posted to the wall is dated August 10, 2010.

Monday, October 4, 2010

Configuring WordPress Widgets With JAWS Screen Reader

This blog post explains how to add, remove and configure widgets for a WordPress blog when using the JAWS screen reader. These instructions assume that you are using: Wordpress 2.9.2, JAWS 11, Internet Explorer 8, and the WordPress Default theme.
If you are unfamiliar with WordPress, read my previous blog posts: Using JAWS Screen Reader To Write A WordPress 2.9.2 Post and Accessibility Issues With WordPress.com, JAWS 11 & Internet Explorer 8.

Access to and Layout of Widgets Page

Login to your blog's administration interface.
To navigate to the Widgets page, select Presentation link, then Widgets link.
The layout of this page, from top to bottom (excluding the site's navigation elements), is as follows:
  • Sidebar Arrangement (heading 2)
  • Static text that says, "You can drag and drop widgets onto your sidebar below."
  • Sidebar 1 (heading 3): tall rectangular area on the left-hand side of the page; it does not extend across the entire width of the page. Sidebar 1 is a list with each list item being a widget that is currently displayed on your blog. The widgets are in a single vertical column and their order from top to bottom matches how they appear on your blog. Each widget spans the width of the sidebar.
  • Widget: a type of content that can appear on the left or right hand side of your blog page, depending on the template you have chosen e.g. Recent Posts, Archives, Search, Categories. It is represented by a rectangle that contains its name (left justified) and an optional Configure icon (right justified) which JAWS reads as "equals".
  • Available Widgets (heading 3): wide rectangular area that extends the width of the page. It is a list with each list item being a widget that is not on your blog sidebar yet but which you can add. Each available widget is represented by a rectangle in a horizontal row from left to right; if the widgets do not fit in one row, they will wrap around to the row below.
  • Save Changes buttons: after making modifications on this page, activate one of the two Save Changes buttons to have them take effect
  • Widget Configuration dialog boxes: these dialog boxes display when you choose to configure widgets that have this option.

JAWS Commands For Interacting With Widgets

The following JAWS commands will help you to navigate, add, remove and configure the widgets for your blog.
  • Headings List: Insert F6 -- to access the Sidebar 1 or Accessible Widgets areas
  • Links List: Insert F7
  • Form Fields List: Insert F5 -- to access the Save Changes button or form fields in the widget configuration dialog boxes
  • Lists List: Insert Control L -- to access the list of Sidebar widgets or Available Widgets
  • List Item navigation quick key: I -- to access a widget in the Sidebar or Available Widgets list
  • Virtual PC Cursor: Num Pad Plus -- returns you to the default web page navigation mode where you can tab through the page, use JAWS navigation quick keys, display lists of links, etc.
  • Route JAWS Cursor to PC Cursor: Insert Num Pad Minus -- moves the mouse pointer (JAWS cursor) to the location on the page where the Virtual PC cursor is located (e.g. Heading or List Item you navigated to); this helps you to orient yourself on the web page prior to using the JAWS cursor
  • Left Mouse Click: Num Pad Slash -- note: your JAWS cursor needs to be active for this command to work
  • Drag and Drop: Left Control + Insert + Num Pad Slash -- this command is used to drag and drop widgets. JAWS Help describes how it works as follows (which I have found is accurate except that I need to press the Left Control key -- Right Control did not work): "Position the JAWS Cursor on the item you wish to move and press CTRL+INSERT+NUM PAD SLASH. You can leave the JAWS Cursor active, or you can switch to the PC Cursor. JAWS will keep speaking as you navigate. Once you have positioned the JAWS or PC Cursor in the location to which you would like to move the item, press CTRL+INSERT+NUM PAD SLASH again, and the item will be moved to the position of the active cursor."

General Process for Dragging and Dropping a Widget

In the following sections, I explain how to perform the major actions available for widgets. Several of these involve dragging and dropping a widget. Here are the general steps for doing this. I will reference these steps in the sections below where I'll give more information about setting up for the drag and drop, etc.
  • if you are not in Virtual PC cursor mode, press Num Pad Plus
  • go to the list that contains the widget you want to drag and drop e.g. use the Lists List with Insert Control L (or press L, the List navigation quick key)
  • press I to navigate to the widget (list Item) you want to move
  • route JAWS Cursor to Virtual PC Cursor with Insert Num Pad Minus
  • initiate the drag command with Left Control + Insert + Num Pad Slash
  • switch back to the Virtual PC cursor with Num Pad Plus
  • use the JAWS navigation quick keys or List dialogs to move to the location you want to position the widget
  • route JAWS Cursor to Virtual PC Cursor with Insert Num Pad Minus
  • drop the widget into place with Left Control + Insert + Num Pad Slash
  • switch back to the Virtual PC cursor with Num Pad Plus
  • to confirm that you moved the widget into the correct location, navigate the list with the list Item command (I)
  • when you have completed all of the changes you want to make to your widgets, remember to activate the Save Changes button to have them take effect.

Issues With Using JAWS

The actions available on the Widgets page are accessible if you learn how to use the JAWS cursor commands and if you take the time to confirm that the action was performed correctly afterward. The drag and drop command works best if you switch back to the Virtual PC cursor and use your navigation quick keys to position the Virtual PC cursor at the location you want to drop the item. Finally, you should confirm that the action occurred correctly by navigating the widget list or, in the case of configuration changes, saving the changes and browsing your blog to check that they are present. There is a JAWS command that displays the droppable elements in the ARIA Drag and Drop dialog box (Windows Key + Control + Equals) but the developers of the Widgets page have not coded this information.

Sidebar Widget Movement

You can rearrange the order of the widgets in the sidebar from top to bottom. Follow the steps listed in the General Process for Dragging and Dropping a Widget listed above while considering these additional instructions/comments:
  • the widget name that JAWS announces will precede the widget you are moving
  • you cannot move a widget above the very top widget, so move the desired widget into second place and then move the top one down.

Available Widget To Sidebar Movement

Follow the steps listed in the General Process for Dragging and Dropping a Widget listed above while considering these additional instructions/comments:
  • after initiating the drag command on the widget you want to move into the Sidebar, you need to locate the Sidebar by using the Lists List with Insert Control L or by pressing L, the List navigation quick key until you have reached the Sidebar list; then use I to move to the widget you want positioned above the widget you are moving.

Sidebar to Available Widget Movement

If you want to remove a widget from your sidebar, you need to drag it into the Available Widgets area. Follow the steps listed in the General Process for Dragging and Dropping a Widget listed above while considering these additional instructions/comments:
  • the widget position in the Available Widgets list is irrelevant, so just navigate to the first available widget (using the I navigation quick key) and then drop the sidebar widget; it will appear at the beginning of the Available Widgets list
  • confirm that the widget has been removed from the Sidebar by navigating the Sidebar list (it should be gone) and the Available Widgets list (it should be present).

Configure Sidebar Widget

If a widget in the Sidebar can be modified it will have a Configure "icon" on the right hand side of the rectangle that represents the widget. JAWS reads this icon as "equals". Below are the steps for how to access the Configure icon and its dialog box. The most difficult part of the process is closing the dialog box!
  • if you are not in Virtual PC cursor mode, press Num Pad Plus
  • go to the Sidebar list e.g. use the Lists List with Insert Control L (or press L, the List navigation quick key)
  • press I to navigate to the widget (list Item) you want to configure
  • press down arrow to go to the Configure icon which JAWS announces as "equals" (the widget is not configurable if you hear the name of the next widget instead)
  • route JAWS Cursor to PC Cursor with Insert Num Pad Minus
  • click the Configure icon with Num Pad Slash
  • a popup dialog box appears
  • switch to the Virtual PC cursor with Num Pad Plus
  • locate the form fields in the dialog box with the Form Fields List (Insert F6)
  • complete each field as appropriate, tabbing between them; if you tab out of the dialog box (e.g. number of text widgets dialog box) press Shift Tab to return
  • close the dialog box as follows:
    • route JAWS Cursor to PC Cursor with Insert Num Pad Minus
    • press up arrow until you are in the title bar of the dialog box i.e. you'll hear JAWS speak the title followed by "X"; the X is the icon in the upper right corner of the dialog box that you need to click to close it
    • press the right arrow until you hear JAWS say "X"
    • click the X icon with Num Pad Slash
  • switch to the Virtual PC cursor with Num Pad Plus
  • activate the Save Changes button (e.g. use the Form Fields List to find it) to make your changes take effect
  • go to your blog and check that the changes you made to the widget are present there.

Thursday, September 23, 2010

Using Accessible Twitter With JAWS Screen Reader

Accessible Twitter is a third-party Twitter client that is designed to be easier to use and more accessible for disabled users. I have previously blogged about using the JAWS screen reader with the standard and mobile Twitter web sites. In this post, I describe how Accessible Twitter works with JAWS 11 and Internet Explorer 8. I list some possible areas for improvement and then I give my recommendation on which Twitter site to use.
Note: If you require a refresher on navigating web pages with Internet Explorer and JAWS, see the Navigating Twitter.com Pages With JAWS section of my blog post, Tips For Using Twitter.com With JAWS Screen Reader.

General Accessibility Features

Accessible Twitter contains many features that make it JAWS-friendly. Headings are used liberally. Form fields have descriptive labels. Lists are used to group navigation links. Other structural  elements exist to communicate page structure and facilitate direct navigation e.g. landmark roles identify commonly found sections of web page content, blockquote tags surround tweet text. If you have Javascript enabled, certain actions are more efficient e.g. display of confirmation/results messages, determining characters remaining when composing a message. Content choices make the site more user-friendly e.g. the tweeter's full name rather than their username is given in image and username alt text.

Setup and Sign In

You need a Twitter account before you can use Accessible Twitter. Then you need to allow Accessible Twitter to have access to it so that it can retrieve and update data for display on the Accessible Twitter web site. To do this, go to the Accessible Twitter home page and activate the "Sign in with Twitter" link. You'll be directed to a twitter.com page that says, "The application Accessible Twitter by Web Overhauls/Dennis Lembree would like to sign you in using your Twitter account." The page contains edit boxes for your Twitter Username and Password. After typing these, tab to the Sign Up button and activate it.
The next step in the setup process is to confirm that you allow Accessible Twitter access to your Twitter account. Activate the Allow button (or the Deny button if you've changed your mind).
If you chose Allow, you will be redirected back to the Accessible Twitter home page. The setup process has signed you out, so you'll need to sign in to Accessible Twitter with the "Sign in with Twitter" link. If you are prompted for your username and password, enter them; otherwise, you'll find yourself on the Timeline page.

Site Pages

The main site pages on Accessible Twitter have links that appear in a row near the top of the page. They are contained in a 10 item list called "navTweet" below a visually hidden level 3 heading called "Tweet Menu." The first 9 links have access keys (keyboard shortcuts) assigned to them using the digits 1 through 9. So the access key for the first link (Timeline) is Alt 1; Alt 9 is assigned to Trends. Below is the name of each of these links and a brief description of what the page contains.
  1. Timeline: the most recent 20 tweets from you and those you follow; use the Older link at the bottom of the page to display more
  2. My Tweets:  your most recent 20 tweets
  3. Mentions: tweets in which @<your username> appears
  4. Favorites: tweets that you have marked as favorite
  5. DM: direct messages that you have received (Inbox, the default view) or sent (activate Sent link to view)
  6. Public: the most recent 20 tweets in the public timeline
  7. Search: contains an edit box to Search Tweets, an edit box to Search Users, and a list of your saved searches (as links to search results pages)
  8. Lists: ability to create a list, view/edit/delete your lists, view/unsubscribe subscribed lists
  9. Trends: a list of the top 10 most tweeted about topics on Twitter; activate a topic/trend link to display the 20 most recent tweets about it
  10. Links: the 15 most popular links that appear in tweets

My Profile

The My Profile link gives you access to your profile. This link doesn't appear in the navTweet list; you'll find it in the list above it, called "navMain" (which is located below a hidden level 3 heading called "App Menu"). The My Profile page contains links to: Edit Profile, Retweets By Me, Retweets of Me. The profile data are the only settings that you are able to edit on Accessible Twitter; these fields include: Name, Location, Bio and Web Site.

Tweet List/Timeline

A tweet contains the following content items:
  • image ("avatar") of user, which is a link to the user's profile page; the alt text contains the user's name
  • a thumbnail of an image ("small image") referenced in the tweet (right justified)
  • tweet text, which may contain no or several links
  • from <username>, with <username> a link to the user's profile page; the alt text contains the user's name, number of followers and number following (but that is not read by JAWS, by default)
  • several links including: user timeline, direct message, tweet message, favorite, Reply, Quote Tweet (old-school retweet), Re-Tweet; if this tweet belongs to you, some links won't be present and others will e.g. trash can for deleting the tweet
  • date the tweet was sent, which is a link to the "permanent" page for the tweet i.e. a page that contains only this tweet (and also the tweeter's profile)
  • application used to send the tweet.
Because a tweet contains so many links, you might want to choose a different element to directly navigate to each. On the Timeline page, the tweeter's name is contained in a hidden heading level 3 tag just above the tweet content items so navigating tweets by heading level 3 is one option. The tweet text is surrounded by a blockquote so you can navigate to it by pressing the Q navigation quick key and then press the down arrow key to start reading.

Composing a Tweet/Message

Several pages (Timeline, My Tweets, Mentions) contain the edit box into which you compose your tweet. Its title, "What's happening?", is a heading level 2. Note that it is a multi-line text area, so you may need to use your previous and next line JAWS reading commands to review your message. The text area is followed by the Submit button which you activate to send the tweet.
Below that you'll find a refresh page link and your most recent tweet including its time, permanent link and application used to send it.
Then you'll find the Open Shorten URL link. If you activate it, you'll open an area beneath the link that contains an edit box for you to type the web address you want to shorten, followed by a Submit button and a Clear link. Upon submitting the link, a confirmation dialog box will appear hopefully telling you that the web address was successfully shortened. Activate the OK button. Navigate back to the "What's happening?" edit box where you'll find the shortened URL appended to the end of your message.
Another helpful feature is knowing how many characters are remaining for your message. This number appears above the "What's happening?" edit box. To access it from here, press the up arrow key.
Composing a direct message on the DM page is similar except for the additional 18 character "username who is following you" edit box that appears above the "message" text area. The Twitter.com site uses a combo box containing your "followers" usernames here which is a big help to a visually impaired user who otherwise may have to use the JAWS Spell Word command (Insert Num Pad 5 twice quickly) to learn how it is spelled in order to type it in. However, the username is prefilled if you select the direct message link associated with one of the user's tweets or from the Followers page.
The send a "tweet message" feature takes you to the Timeline page, and pastes "@<username>" into the "What's happening?" edit box.

Replies and Re-Tweets

Replying to a tweet  causes a page to display that contains an edit box prefilled with "@<username of Tweeter>". Type your reply and activate the Submit button. The Shorten URL feature is also available here. If you need to remind yourself what the tweet said, it appears below the Open Shorten URL link; use the blockquote navigation quick key (Q) to navigate directly there. A reply causes the tweet to have a "Responding" link appear at the end of it by which you can view the tweet to which this tweet is responding.
Each tweet has both a "Quote Tweet (old-school retweet)" link and a "Re-Tweet" link. Selecting either of these causes a page to display that contains an edit box prefilled with the text of the tweet, preceded by "RT <username of Tweeter>". The difference is that with the Re-Tweet, you aren't allowed to modify the text (and for some reason this makes it impossible to access via the E navigation quick key so use the Form Fields List instead). You should check the characters remaining count and if it is negative, use the "Quote Tweet" feature. Activate the Submit button to send either type of re-tweet.

Possible Areas For Improvement

Only user testing will tell if the following significantly affect the usability of the site.
Overall, page elements have been labeled very well but some improvements could be made. The heading for the "Go To User" feature is called Menu which is too generic. The alt text for a Twitter user's image is "avatar for <username>"; image is a more common term and because the username is already displayed in the tweet, it would be better to put the user's full name into the alt text so that it is present in the JAWS Links List. Also, if the name appears first (e.g. Linda Tauscher's image), the JAWS user can more quickly navigate to a tweet from this user by pressing the first letter of their name when in the Links List.Headings on the site are plentiful and do a reasonably good job of conveying the page's structure. Because JAWS allows navigation by heading level (e.g. press "3" to move to the next level 3 heading), it would be helpful if heading levels were consistently applied across all pages. This is true for the tweeter's name heading on all pages except for the Direct Message page; here the name is a heading level 4 whereas it is a heading level 3 elsewhere. Also, having the user's full name in the heading is very helpful; however, the Search results page displays the username instead.
If Javascript is disabled, the confirmation message isn't displayed for a delete action; it would be best if the interface operated consistently when Javascript is both enabled and disabled.
The site does a good job of limiting actions to those that are permitted. For example, a user can only delete their own tweet, so the delete link is only found on the sender's tweets. But the direct message link appears for all users on the Timeline page, whether they are a follower or not. Sending a direct message to a non-follower doesn't work (an error message is displayed) but the presence of the link makes it appear as if it could.

Twitter Site Recommendation

Of the three web sites that I have reviewed with JAWS and IE 8, Accessible Twitter is the site that I recommend for JAWS users. It is much more accessible than the standard or mobile Twitter sites which means that it is efficient to navigate the site and page content, and actions/features are easy to discover and possible to perform in an efficient manner. It is also more usable in general; for example, the pages are task-specific and are thus less cluttered. Finally, Accessible Twitter offers additional features that make using Twitter more efficient e.g. Shorten URL. Other than some possible areas for improvement that I've identified, the only real downside to Accessible Twitter is that you cannot use it to modify most of your Twitter settings. Still, this is a task you're likely to do during the sign up process and then infrequently after that.
Mobile Twitter has a simple design but was clearly designed for mobile devices with a visual display; thus it lacks the structural markup that JAWS relies upon to aid in navigation and semantic comprehension (including descriptive alt text for important images!). Also, while JAWS can function well with Javascript, Mobile Twitter lacks Javascript whereas the Javascript on Accessible Twitter really enhances the user experience; it makes composing a tweet within the 140 character count easy, it displays confirmation dialog boxes to confirm irreversible actions and makes the display of results messages more efficient. As with Accessible Twitter, the mobile version does not allow you to edit your settings.
The standard Twitter web site gives you access to all features (except Shorten URL) but some of them aren't accessible or easily accessible. It isn't possible to mark a tweet as a favorite and replying to a tweet or retweeting are best to do on the tweet's "permanent" page which is less convenient. The form fields for signing in appear in a pop up dialog box that can be challenging to access via the keyboard. Some page elements aren't well labeled.
Many thanks to Dennis Lembree of Web Axe for taking such great care in creating Accessible Twitter, a web site that not only makes using Twitter a joy for JAWS users but serves as a model of best practices for accessible web development.

Thursday, September 16, 2010

Mobile Twitter.com Versus Standard Twitter.com: A Comparison For JAWS Screen Reader Users

As you may know from my blog post, Tips For Using Twitter.com With JAWS Screen Reader, there are some keyboard accessibility issues with the standard Twitter.com web site that makes it challenging for JAWS screen reader users. I was hoping that the mobile version, located at mobile.twitter.com would solve these issues. But as with most things, the mobile site has strengths and weaknesses. The weaknesses seems to arise from the fact that it was really designed for mobile devices that contain a visual display.

Strengths of mobile.twitter.com

It is easy to reply to or retweet a tweet. Each tweet has a reply and a retweet link following the time the tweet was sent. Activating the reply link takes you to a page where you type in your reply and activate the Reply button. Activating the retweet link takes you to a confirmation page with a Yes or No button that you must activate.
After the retweet link you'll find the favorite link. It isn't possible to mark a tweet as a favorite on the standard Twitter.com site using the keyboard. Here you just activate the link which toggles the tweet between being or not being a favorite. As with the retweet feature, you'll be asked to confirm the favorite action by activating either the Yes or No button on the confirmation page that displays.
To delete your tweet, look for the delete link preceding the favorite link. A confirmation page will display with Yes and No buttons.
It is easier to activate the Following and Followers links because the number follows the word (rather than precedes it as on the standard Twitter.com site). These links appear after the timeline of tweets on the Home page, which is the page that displays when you sign in.
Access keys have been assigned to the links that take you to the Home, Replies,  Favorites and Direct Messages (Inbox) page.
The pages contain fewer links and images. They are structured in a simpler, one-column format. Navigation and form elements are consistently placed. The pages you'll find on the mobile site include: Home, Replies, Favorites, Direct Messages (Inbox), Following, Followers, Find People (includes Browse Interests), Search Results and Profile.

Weaknesses of mobile.twitter.com

The mobile site does not give you access to all of the features found on Twitter.com. Absent are: Settings,  Lists, advanced Find People features, saved searches, Suggestions For You feature and Twitter.com links.
Important image links lack descriptive alt text. In most cases, the image name has simply been used. This is what you'll hear for the links: reply (Ic_reply), retweet (Ic_retweet), favorite - not on (Ic_fave), favorite - currently on (Ic_faveon), delete (Ic_delete), favorites page (Ic_fav-off). In addition, @ is the label for the Replies page and DM is the label for the Direct Messages (Inbox) page. Most form fields are well-labeled.
It is more difficult to determine if you've exceeded the 140 character maximum for a message. On Twitter.com, you can up arrow from the message edit box to hear the characters remaining. The mobile site does not tell you how many characters are remaining as you compose your message. If the message is within the limit, activating the Tweet button will send the tweet. Otherwise, an error page displays with a "Tweet not sent — It's too long" message at the top. The keyboard focus is in the edit box containing your message. Below that is the Resend button. Following that is the text, "Where your Tweet went over:"; beneath that you'll find your message with the portion that exceeds 140 characters in strikethru font style. So you could use your JAWS reading keys to move to approximately where you think the message went over, and use the JAWS say font characteristics command (Insert F) to hear if the current character has strikethru style applied.
The pages contain less structure which makes direct navigation mostly impossible. You can use link or form element navigation to skip over content if you don't want to read the entire page. But there are no headings, lists or tables as found on the standard site. Keep in mind that each tweet will have at least 5 links associated with it (username Home, time, reply, retweet, favorite) and each username search result will have at least 3 (username Home, latest tweet time, Follow button).
When sending a direct message, the combo box of your "follower usernames" only contains the most recent three that you messaged; all usernames appear in this combo box on the standard site.
Some pages don't contain a link to your home page or the other main pages on the site so you'll need to use the browser's "go back to previous page" command e.g. Alt Left Arrow.
The mobile site has a sign up form but it only has an image CAPTCHA.

Tuesday, September 14, 2010

Tips For Using Twitter.com With JAWS Screen Reader

While the Twitter.com web interface is quite usable with the JAWS Screen Reader, it does have a few keyboard accessibility issues. Below are some tips based upon my experiences.
Note: I am assuming that you have some knowledge of Twitter.com, perhaps gained by listening to some/all of the podcasts that are available. I have summarized these in my blog post, Resources For Getting Started With Twitter Using JAWS Screen Reader.

Navigating Twitter.com Pages With JAWS

Navigation Quick keys are a letter that you press on the keyboard that moves you to the next element of that type on a web page. So when I tell you to move to a Heading, press H; move to a List, press L; move to a list Item, press I; move to an Edit box, press E; move to a Button, press B; move to a Table, press T; move to the a Combo box, press C.
Another navigation strategy is to display a list of page elements of a particular type. You can press any navigation quick key with the Insert and Control keys to display a list of that element. So to display a list of Lists, press Insert Control L; for Tables, press Insert Control T; for Edit boxes, press Insert Control E. The following elements are so frequently used that they have specific function key assignments:
  • display Links List: Insert F7
  • display Headings List: Insert F6
  • display Form Fields List: Insert F5
Using Twitter involves interacting with forms so you need to become proficient at knowing which cursor is active. Recall that the Virtual PC Cursor is usually on when the web page first displays; it allows you to tab between links and use the Navigation Quick keys. The other cursor that you’ll typically use is the PC Cursor; it lets you tab between form controls and interact with them such as typing text into an edit box. Sometimes when you navigate to a form control, JAWS will automatically switch to forms mode whereby the PC Cursor is active. If not, enter forms mode manually by pressing the Enter key; you’ll hear a sound when forms mode turns on and off. You may need to exit forms mode (and thus switch from the PC Cursor to the Virtual PC Cursor) to access static text or links on the page; do this by pressing Escape or NumPad Plus. If you are having difficulty displaying a list of elements (e.g. Links, Buttons), it may be because you're still in forms mode so press Escape to switch back to the Virtual PC Cursor and try displaying that element list again.
Several pages on Twitter.com use a Table to display the main content on the page e.g. settings form fields, user/People search results, followers and following usernames. You can always use the down arrow key to move through the table but it might be more efficient to use one of the following commands:
  • next/previous row: Windows Key + Down/Up Arrow
  • current row: Windows Key+ Num Pad 5
  • next/previous cell: Ctrl + Alt + Right/Left Arrow
  • cell below/above: Ctrl + Alt + Down/Up Arrow
  • current cell: Ctrl + Alt + Num Pad 5

Site-wide Pages

Headings exist on most pages and for many sections on a page, so use the Headings list to browse and access these.
Related links are grouped into lists, so use the Lists List to browse and access. It can be difficult to determine what the list is about by browsing the Lists List because it displays the list item text. Some lists have names or titles that appear above them so if you are confused by what you're hearing, go to the list and use your up arrow key to find the title. Use the list Item command to navigate through the list once you get there.
Form fields can be browsed and accessed via the Form Fields List.
Access keys have been assigned to major pages on the site. You'll hear them announced when you are on a link that has an access key. You'll also hear them when browsing the Lists List and the Links List. In Internet Explorer, access keys consist of the Alt key followed by a letter e.g. Alt H for the Home page. Remember that you must press the Enter key after typing the access key to go to the page.

Twitter Home Page

You go to Twitter.com to either sign in or sign up. The form fields for signing in appear in a pop up dialog box that can be challenging to access via the keyboard. I've found the most foolproof method is to use the Form Fields List to locate the Username edit box. From here, tab to the Password edit box and Sign in button.
To create an account, use the Sign Up link.

Sign Up Page / Create An Account Page

This page contains several form fields that you need to complete which is tricky with JAWS because to the right of the 4 edit boxes (which appear in a table), a help or validation message is displayed that you'll skip over when tabbing in forms mode. Also, the message is updated as you type into the edit box (e.g. to tell you that the username is OK versus already taken) so you need to wait a few moments for the form field to be validated and ensure that you read it. Do this by using your down arrow key to leave the edit box; if you don't hear the message, back up with the up arrow key. You may need to down and up arrow a few times to ensure that you've read the message. Also, arrowing in this way will give you access to a text description of the field that may appear below it e.g. Your full name will appear on your public profile. When you get to the Terms of Service text area, you'll want to tab out of it unless you want to read the entire document.  Also, be aware that the "send me email updates" check box is enabled by default and while it visually appears after the Create my account button, it precedes the button in the tab order.
When you activate the Create my account button, the CAPTCHA appears in a pop up dialog box that can be challenging to access via the keyboard. You'll want to complete the audio CAPTCHA by activating the "Hear a set of words" link; I've found that the Links List is the easiest method of locating this link. After typing the words you hear into the edit box, locate the Finish button with the Form Fields List.
If you've been successful thus far, your account will have been created and you'll be taken through 3 steps to help you locate Twitter users to follow. (Note that these steps are optional; all of the tools you are introduced to here are available once you sign in to your Twitter.com account.) Step 1 of 3 is entitled "browse interests"; selecting a link on a particular topic will display Twitter users associated with it that you can choose to follow. Look for the "Next step: friends" button when you are ready to move on. Step 2 of 3 is entitled "Find your friends"; you can select an email service (Gmail, Yahoo, AOL, LinkedIn) to have it scanned for any contacts that are on Twitter.  Look for the "Next step: search" button when you are ready to move on. Step 3 of 3 is entitled "Search for anyone"; the page contains an edit box into which you can type a Twitter username, first name, last name, business name, etc. Look for the "Next step: you're done" button to complete this part of the sign up process.

Sending a Tweet, Direct Message or Reply

Depending on what type of message you are sending, there will be a heading that identifies it e.g. What's happening? for a tweet. Just above the edit box on its right-hand side, you'll find a count of how many characters are still available; use your up arrow key when you are in the edit box to hear the count. Then use down arrow to get back into the edit box. Use your JAWS reading commands to read what you've typed thus far e.g. read current line with Insert Num Pad 8. When you are ready to send your message, tab to the button which may be labelled Send or Tweet.

Replying to a Tweet or Retweeting

The easiest way to either reply to or retweet a particular tweet is to locate the tweet and activate its date/time link. This displays the tweet on a separate page that contains Reply and Retweet links.

Sending a Direct Message

The easiest way to send a direct message is from your Direct Messages page. Find the link for it in your Sidebar or use the Alt D access key. You'll find a combo box listing the usernames of your followers above the message edit box. Use down arrow to select the username and then tab to the edit box. This page also contains a list of direct messages. By default, that list will be set to your Inbox i.e. messages you've received. Use the Sent link to display the list of messages you've sent.

Following and Followers Pages

From your Profile page, you can access pages listing your followers and who you are following. But these links are difficult to find because they are preceded by the number e.g. 8 following. A strategy to find these links is to locate the Favorites link in the Links List, then up arrow until you hear the following/followers link name. Users on these pages appear in a 3 column table.

Find People

The results from your search appear in a table. So you can use the next row command to browse through the results. Each search result consists of 2 links that take you to the user's profile: their image and their username; so you can use the Links list to access the results as well. Each user has 3 buttons and the button labels contain the username, so you can use the Form Fields list to find the Follow, Manage Lists or Actions button for a particular username. The Follow button toggles following on or off. Activating the other 2 buttons opens a list; for Actions, the list items include variations on the Mention, Follow, Direct Message and Block commands.

Settings Page

There are several pages of settings that you can modify. The Settings link takes you to the Account settings by default. These pages contain a list of the links for all settings pages e.g. Account, Password, Mobile, Notices, etc. Use the Form Fields List to find the fields; they appear in a table. After making changes, be sure to activate the Save button.  Some fields may have static text below them so be sure you've read it by using your arrow keys.


I was unable to use JAWS and keyboard navigation to mark a tweet as a favorite. When the keyboard focus is on a tweet on the Home page, I can use the Activate Mouse Over JAWS command (Insert Ctrl Enter) to display the additional information that appears when the mouse hovers over a tweet; this includes a Reply link, a Retweet link and the Favorite star image that is clickable. But I cannot tab to the Favorite star to activate it. It is possible to favorite a tweet on the mobile.twitter.com site but that is a topic for a future blog post.

Resources For Getting Started With Twitter Using JAWS Screen Reader

There are several excellent resources that can help you learn how to use Twitter if you are a JAWS user.

FSCast on Twitter with JAWS

In this May 30th 2009 podcast from Freedom Scientific, Jonathan Mosen hosts a discussion about the use of Twitter and related third-party applications with JAWS and the PAC Mate Omni™ accessible Pocket PC.  The first 34 minutes of the podcast involves 3 Twitter and Freedom Scientific users explaining what Twitter is and how they use it. Note that there have been some changes to Twitter since this podcast. For example, on the mobile.twitter.com site, the time of the Tweet is a link to the tweet so you can use the tweet's page to reply or mark it as a favorite but you can also do this from your home page; it is also easy to send a direct message on the mobile site. During the final 30 minutes, Jonathan interviews the developers behind Jawter, McTwit, TwInbox  and Accessible Twitter.

Accessible World presents Twitter on Tek Talk

In this June 1st 2009 podcast, Rich Cavallaro spent the first 30 minutes demonstrating the Twitter web interface with JAWS and Internet Explorer. and discussing some third-party Twitter clients. The demo covered how to sign in, follow people, send different types of messages, and modify settings. The remaining 28 minutes consists of questions and comments from participants of this Accessible World Tek Talk podcast. Note that there have been some changes to Twitter since this podcast. The main message edit box is now labeled, "What's happening?", the term "Tweet" is used rather than "Update", and some settings have been modified.

Twitter From A Blindness Perspective

In this 51 minute podcast, Erin Edgar uses JAWS and Mozilla Firefox to demonstrate how to: create a Twitter account, setup your profile, post updates, find people to follow and read their updates. She then discusses Twitter conventions and various third-party applications including Accessible Twitter. Since Erin posted the podcast to BlindCoolTech.com on May 21st 2009, Twitter has undergone some interface and terminology changes. For example, the CAPTCHA now appears in a dialog box when the Create my account button is pressed on the Sign Up page (making it even more challenging to complete via the keyboard!). At the end of her podcast, Erin demonstrates the difficulties she had with the audio CAPTCHA which lead her to use the WebVisum Firefox extension to complete it during the account creation demo.

An Introduction to Social Networking

On April 19th 2010, Anna Dresner discussed the differences between Twitter, Facebook, and LinkedIn and when you might use each. This is a 53 minute Accessible World Tek Talk podcast.

Social Networking Privacy Options

This article by Marc Grossman of the American Foundation For The Blind discusses privacy settings available on Facebook, Twitter and LinkedIn. It was published in the August 2010 issue of AccessWorld.

An .eduGuru Blog Posting About Accessible Twitter

On Feb 16th 2009, Nick DeNardis described some of the accessibility issues with Twitter.com and how Accessible Twitter resolves these. For more information, read the features page on the Accessible Twitter web site.

My Blog Postings About Using Twitter With JAWS

I have written the following three blog posts on this topic:

Thursday, September 2, 2010

3 Methods For Manually Adding Custom Words To The DNS Vocabulary: Single Word, List Of Words, Document Of Writing Samples

Note: This article applies to version 10.1 of Dragon NaturallySpeaking.
Dragon NaturallySpeaking (DNS) has a very large dictionary of words that it uses to translate what you say into the text that appears on the screen. To improve performance, only a portion of the dictionary is stored in memory while you run DNS; this is called the "active vocabulary." The entire vocabulary is kept on disk in what is called the "backup dictionary."
If DNS has not recognized a word that you've dictated, it may be because the word is not in the active vocabulary. But the word could be in the backup dictionary. In my previous blog post entitled Controversy re. Unselecting "Automatically add words to the vocabulary" Option in Dragon NaturallySpeaking, I explained how you can have these words added to the active vocabulary automatically. To review, here are the steps:
  • enable the "Automatically add words to the vocabulary" option (DragonBar -> Tools menu -> Options menu item -> Correction tab)
  • because the word isn't in the active dictionary, DNS won't recognize it when you dictate it -- it will display something else, so correct the word you dictated: say "Select <word>", "Correct That", and then spell the word in the Spell dialog box
  • save your user files for this change to take place permanently (this happens when you exit from Dragon, either automatically or you are prompted).
However, some specialized words, names, acronyms, and abbreviations you use may not be in the backup dictionary. In this case, you must add them to your active vocabulary manually. DNS defines "custom words" as the words that are in your active vocabulary but are not in the backup dictionary. So the purpose of this blog post is to explain how to add custom words to your vocabulary manually. You can add a single word at a time, add multiple words in a list or have DNS analyze samples of your writing.
Adding a single word is good for those occasions when you anticipate that you'll be using a word that won't be found in the backup dictionary. Note that you can also add phrases: adding "multi-words" such as names of people, places, products or institutions can help DNS resolve spelling and capitalization ambiguities.
Adding multiple words in list form is more efficient than adding a single word at a time. Use this method when you plan to start dictating a lot of specialized vocabulary that is new for you e.g. at the beginning of a course in a new discipline. You can use Kurzweil 3000 to scan textbook glossaries and edit them so they are in list format appropriate for this method.
There are two benefits to having DNS analyze a sample of your writing. First, words that aren't in the backup dictionary will be added to the active vocabulary as custom words. Second, the language model will be updated to reflect your writing style. This means that DNS learns which words are used with what frequency, and what words appear near each other. This will allow DNS to better guess between words you dictate that sound alike.

Add Word

To add a single word or phrase:
  • open the Vocabulary Editor: say "Edit Vocabulary" or click DragonBar -> Words menu -> View/Edit menu item
  • type the Written Form, Spoken Form (if different), then click the Add button
    • e.g. written forms only: "Nickle Arts Museum", "TELUS"
    • e.g. written and spoken form: written form = "tauscher@example.com"; spoken form = "my email address" (so when I dictate the phrase "my email address", the text "tauscher@example.com" is displayed).
There is an excellent tutorial on the Vocabulary Editor on pages 8-12 of the DNS End-User Workbook.

Add List Of Words

To add multiple words, prepare a list of words and phrases as follows:
  • create a document in a word processor that will allow you to save it as a plain text (.txt) file
  • put each word/phrase on a separate line
    • ensure everything is spelled, capitialized and spaced correctly
    • to include a spoken form, follow the written form with a backslash, then the spoken form e.g. tauscher@example.com\my email address
  • save the document as a plain text (.txt) file; close it
  • Say "Import custom words" or on the DragonBar, click Words, Import
  • check the "Preview the list of unknown words" checkbox; click Next
  • on the Add Word Lists dialog box, click the Add File button; browse to the .txt file you created and click Open; click the Next button
  • on the File Analysis dialog box, click Next
  • on the Add Words to Vocabulary dialog box, review the list of new words that will be added to your vocabulary; uncheck any you decide not to add, click Edit if you wish to change both the written and enter a different spoken form of the selected word, then click Next to add the words
  • on the Train Words dialog box, check the words you wish to train and click Train; you will be prompted to speak each word/phrase
  • click Next to view the summary of how many new words were added to your vocabulary; click Finish.
See pages 14-15 of the DNS End-User Workbook for a tutorial on this topic.

Add Words From Document

To have DNS analyze a sample of your writing so that its language model will reflect your writing style (i.e. learn frequency information including which words are used with what frequency, and what words appear near each other -- this will allow DNS to better guess between words that sound alike):
  • create a document in a word processor that will allow you to save it as a plain text (.txt) file
  • paste into the document previously written material that contains the text you are likely to dictate
  • remove all formatting (the plain text file format will facilitate this) and separate each paragraph by a blank line
  • ensure that the punctuation is correct
  • spell check the document
  • save the document as a plain text (.txt) file; close it
  • say "Add words from documents" or on the DragonBar, click Accuracy Center, then click or say "Add words from your documents to the vocabulary."
  • check all 4 of the checkboxes (though you may wish to uncheck "Find known words with unknown capitalization"); click Next
  • on the Add Documents dialog box, click the Add Document button; browse to the .txt file you created and click Open; click the Next button
  • on the Document Analysis dialog box, click Next
  • on the Add Words to Vocabulary dialog box, review the list of new words that will be added to your vocabulary; uncheck any you decide not to add (e.g. common words that are capitalized), click Edit if you wish to change both the written and enter a different spoken form of the selected word, then click Next to add the words
  • on the Train Words dialog box, check the words you wish to train and click Train; you will be prompted to speak each word/phrase
  • click Next to have DNS adapt to your writing style
  • click Next to view the summary of how many new words were added to your vocabulary; click Finish.
See pages 16-18 of the DNS End-User Workbook for a tutorial on this topic.
Note: Be sure to save your user files after adding new words or the new words will not be saved.
Also, keep a copy of any word lists or documents that you import as you may want to repeat this process should you ever create a new user profile.