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.
Buddies
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.
Lifestream
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.
Me
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 (4.2.0.187) 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 (4.1.0.141 -- 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.

Issues

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.