Making Excel spreadsheets work better with screen readers like JAWS

The following is something that is pretty simple to do and makes a spreadsheet accessible to screen readers… I have copied this from http://doccenter.freedomscientific.com/doccenter/doccenter/rs25c51746a0cc/2013-09-25_ExcelAndWordHeaders/02_HeadersInExcel.htm

Column and Row Headers in Microsoft Excel with JAWS and MAGic

NOTE: For those of you participating in the live Webinar, the following link will open the documentation in a new browser window Opens in a new window.

Those who use Microsoft® Excel® on a regular basis know how quickly one can get lost in a workbook without the use of row and column headers. Sighted users often lock the row and column headers into place by using the Freeze Panes option from the Window menu in earlier versions of Excel, or the View tab of the ribbon in later versions of Excel. When this is done, the headers for the rows and columns remain on the screen as the user scrolls horizontally or vertically through the workbook. JAWS® screen reader and MAGic® screen magnification programs are capable of recognizing column and row headers as titles under two types of conditions:

  • Titles created using the Define Name feature of Excel – These titles are part of the Excel file itself. This is the newest method of creating headers for column and row titles. They are created by the author or user of the workbook so that any subsequent use of the workbook does not require that you or anyone else need to define them. This uses a built-in feature in Excel and does not even require having JAWS or MAGic on the computer to create headers that automatically work for JAWS and MAGic users. The name is stored within the Excel workbook itself and is therefore independent of different versions of JAWS and MAGic. In addition, the workbook can be shared easily among different users without having to re-create the headers or transfer an ancillary JSI (JAWS Script Initialization) file along with the workbook.
  • Titles created using JAWS Quick Settings dialog box – These titles are saved in a workbook-specific JSI file located in your personal settings folder, a separate file that is created and has to accompany the workbook everywhere it goes. If that JSI file is not present, for example when a new version of JAWS or MAGic is installed, then JAWS or MAGic will not automatically recognize any column and row headers as titles. Also, if you fail to put the JSI file in the correct folder on the computer hard drive where JAWS or MAGic can find it, headers will not read automatically.

As you can imagine, the preferred method of creating titles that read automatically for all JAWS and MAGic users without having to worry about transferring a JSI file to the proper location on the computer for each workbook or for each version of JAWS and MAGic, is to use the Define Name feature of Excel. In this webinar we will use this newer method.

Creating Column and Row Titles that Read Automatically Using Excel’s Built-In Naming Function (Created by the Document Author or End User)

Microsoft Excel has a built-in function that can be used to give names to a cell or range of cells. JAWS and MAGic look for certain specific names to identify which cells contain row and column titles. If the titles are defined in this fashion, the information is stored right in the workbook rather than in a JSI file and can be used to speak the title information to anyone using JAWS 6.1 and later or MAGic 12.0 or later. Furthermore, anyone can build these row and column names into a workbook without even installing or using JAWS or MAGic. If you create workbooks, you can make them much more accessible for JAWS and MAGic users by defining the row and column headers during the document creation process.

EXERCISE: Open the practice file BudgetSample.xlsx Opens in MS Excel and follow along with the instructor as you practice creating column and row headers in an Excel workbook. If the file opens in compatibility mode, press ALT+F, then I, and finally E to turn off compatibility mode.

In the practice document there is one range of cells to use for this exercise. The range for the budget sample is A5:G23. The intersection of the row and column headers is in cell A7.

I have the sample document open.

  1. First, press CTRL+G and type A7, and then press ENTER to move there. This is the intersection for the column and row headers for the budget range.
  2. Press ALT+M to move to the Formulas tab of the ribbon, followed by M for Define Name.
  3. Then, press ENTER on Define Name. If you are using the JAWS Virtual Ribbon menus, the Define Name split button is on the lower ribbon in the Defined Names group of the Formulas tab.

Focus is in the Name edit box. THIS IS IMPORTANT! You cannot use spaces in the Excel Name feature. Instead, use mixed case with no spaces, underscores, or dashes to separate the words. Type in the following:

  1. TitleRegion1..G21 (we will discuss the logic of this name shortly)
  2. Press ENTER to close the dialog box.
  3. Test to see if the column and row headers are reading properly. Try pressing the ARROW Keys to move through the range of cells for the annual budget.

Rules for Naming Ranges with Column and Row Titles

The names that JAWS and MAGic look for to identify rows and columns have the following format:

  • If the cursor is in the top left cell when creating the name you may leave out the top left cell coordinates, and use two periods with nothing in between them, followed by the coordinates of the lower right cell in the range. For example: TitleRegion1..F8
  • Names can be further defined as long as they begin with the string Title, ColumnTitle, or RowTitle. Some examples include:
    • Title_FirstQuarter..H25 would be a range with both row and column titles with the bottom right cell of the range in cell H25.
    • TitleRegion2..H25 would also be a name for a range with both row and column titles with the bottom right cell of the range in cell H25.
    • ColumnTitle_MonthlyCashFlow..M53 would be a range with column titles only with the bottom right cell of the range in cell M53.
    • RowTitle-AssociatesOnStaff..K34 would be a range with row titles only with the bottom right cell of the range in cell K34.

Remember that row and column titles are now saved within the workbook, not in a JSI file. Be sure to save the workbook after defining names, or they will be gone the next time you use the workbook. To keep the original file intact, choose Save As and give it a new name. That way you will be able to repeat these lessons and have the original file for future practice. In Excel, and most other programs, just press ALT+F followed by A to get to the Save As dialog box. Give the file a new name, and pay attention to where it is saved on your computer hard drive in case you want to find it again later.

Changing Title Name Definitions

If you change a worksheet so that the row or column titles are in different locations, you can edit or delete the existing names.

Press ALT+M to move to the Formulas tab of the ribbon, followed by N for Name Manager.

To edit a listing, select it in the list, and then press ALT+E to activate the Edit button. The Edit Name dialog box opens. Focus is in the Name field where you can edit the region name. When you are finished, press TAB to move to the OK button or the Cancel button, depending on whether you wish to save the changes or not.

If you need to delete a name, first select it in the list, and then press ALT+D to activate the Delete button.

For now, I am going to just press ESC to close the Name Manager dialog box.

NOTE: Some workbooks may also have other cells or ranges of cells that are named that do not pertain to title locations. An example of this might be a range of cells that has been given a name, such as “FirstQuarterSales” or “Information.” When names are given to cells the names can be used to navigate to that location in the worksheet by using the GoTo command in Excel, CTRL+G, or function key F5. So be aware that there will often be other names used within workbooks besides those that JAWS and MAGic monitor for reading.

Now when you move through any cell in either region JAWS and MAGic will use the column and row titles associated with that particular region. You can have as many regions as you want and JAWS and MAGic will always know which titles to use, as long as you define your title names properly.

Advantages of Using the Name Feature

There are a couple of really nice advantages to using the Name feature in Excel to create column and row headers. They include:

  1. Remember, the region names are saved within the workbook itself and are automatically available to any JAWS or MAGic user.
  2. You do not have to first find, and then send a separate JSI file, along with instructions on where to put it to make it work properly.
  3. Any Excel workbook author can use this technique to create column and row headers for JAWS or MAGic users that read automatically, even if the author does not have a copy of JAWS or MAGic.

Workbooks with Multiple Worksheets

As previously mentioned, all default Excel workbooks now open with three worksheets. A user is free to add as many additional worksheets as required. Each worksheet must have its row and column titles defined separately before JAWS or MAGic automatically reads them, even if the format of each worksheet is identical to Sheet1. However, remember that all names in the worksheet must be unique.

The format remains the same, even if the author decides to change the default names of the worksheets from Sheet1, Sheet2, Sheet3, and so on, to more meaningful names. Worksheets can be rearranged if needed. This makes no difference for JAWS or MAGic as long as the range names are unique and as long as the range itself does not change. If the range itself changes, either edit the name or delete it and create a new one.

Create Only Row or Column Titles for Multiple Regions

If you are interested in naming only row titles or only column titles for regions, the naming convention follows the structure defined above with the following names:

  • RowTitle(Name), and so on for a region that only has row headers.
  • ColumnTitle(Name), and so on for a region that only has column headers.

Prior page

Next page