Tables and No Vision support


Use the information in the following topics to understand how you can design form tables for No Vision and Low Vision.

How tables work for No Vision and Low Vision users

The Web structure of a table field or Results list defines how to interact with a table field in Virtual PC Cursor (Non-Forms) mode. The following information applies to tables (Results lists and alert lists) with headers that are fixed or not fixed.

When you create a table field, you can specify the column header for the Select row (Select Column Label). You can also specify the important column for reading out cell information (Row Header).

Although you can specify any column to be the important column, JAWS prefers the column to be the first column in the table and might not use the cell content as the Row Header if the cell to be read is to the right of the Row Header cell. When you read out cell content and you have switched rows, JAWS uses the cell value in that row to give users the "x/y coordinate" of the cell.

The following figure shows a table field for No Vision or Low Vision users. The Selection Column has been expanded so users with normal-range vision can see its contents.

worddav0d5a2b5c5de3d087e3957542d9cb5cf8.png

Because of the additional column, a horizontal scroll bar is always present for No Vision or Low Vision users.

When multiple selection is enabled in a table field, two extra links are available in the Select column. No Vision or Low Vision users hear the Select All and DeSelect All links when the contents of the Select cell column header are read out. Sighted users cannot see these links. If the table is defined to have Select All, DeSelect All, or both in the footer, users also can use the buttons in the table footer. Strings for Select All and DeSelect All can be defined in the Table field properties Label section.

For tables that allow only single selection, the table appears as shown in the following figure:

worddavc71ed082c9f0ba8196942b58cce77083.png

A link is an action, so the link text specifies the action that takes place if the link is run. To users with normal-range vision, the terminology might be confusing at first. In the first table example, the primary selected link says "unselect primary." "Unselect" specifies that the row will be deselected if you click the link. "Primary" specifies that this is the primary selection. When you select a row, if the row is a primary selection, onRowChoice Active links are executed.

When multiple rows are selected, you can easily restart row selection by clicking on a row with a mouse. The current selections are removed, and the selected row becomes the primary selection. The user does not have to DeSelect All and then start the selection. The "single click" link enables No Vision users to clear all current selections and then select a row as the primary selection. Because it is the primary selection, onRowChoice Active links are executed.

The "double click" active link triggers an onDoubleClick active link. Clicking the "double click" link triggers the same behavior as double-clicking a table row with the mouse: that is, all previous selections are cleared, the clicked row is selected, onRowChoice is run, the clicked row becomes the primary row, and onDoubleClick is run (optionally, the details of the record are opened).

When you are in a select cell in a row, press Tab to get to each link. To trigger the link, press the space bar or Enter.

The following table lists Web accessibility support for tables. 

Feature

Web

Buttons in tables

Buttons in tables are HTML buttons, not links. AR Systembuttons are links styled to look like buttons.

For button fields in the table, press the space bar to make a button executable.

Cell-based tables

Non-Forms (Virtual PC Cursor) mode 

  • To traverse cells and the fields in a cell, press Tab. (In Developer Studio, assign tab order to cell fields.)
  • Pressing TAB moves focus to an extra list of links that is added to each cell for Low Vision and No Vision users only. (The Row Header attribute in the cell-based table is used to identify which cell, if none is defined, uses data from the first column.) This is analogous to the Select column in a list view table field. Use the space key to run the link.
  • After you tab to the last link, pressing Tab moves the focus to the first cell field in the cell. To interact with the cell fields, switch to Forms mode.
  • Tabbing on a cell's last field in a cell-based table moves the focus to the link of the next cell or the table's footer. (if this is the last cell).

Forms mode

  • To traverse cells, use the Up and Down arrow keys. Using the Up and Down arrow keys will also select the record. When you press Tab, only one cell is traversed. When you are at the last cell field in a cell, tabbing takes you to the footer.
  • To get to the first field in a cell, tab twice. To move from field to field inside a cell, press Tab.
  • To run any of the select links which are added to the cell for a Low Vision or No Vision user, press Enter.
  • To interact with a cell field, use the Forms mode as necessary.

Columns: sizing

Only mouse interaction is available. Exposing the cell content is not necessary; JAWS reads the entire cell content.

Columns: sorting

To use column sorting, you must be in Non-Forms (Virtual PC Cursor) mode. Tab to the first row of the table field data. This is after the summary. To access the column headers, use the Up arrow key.

To go to the correct column label, press the Up or Down arrow key and then press Enter. This sorts the column (or toggles the sort order if the column is already sorted). The sort direction is read by JAWS.

Editable cells in a table

Not supported.

Header string in table

In Non-Forms (Virtual PC Cursor) mode, tab to the first element of the table field. This is usually the set of buttons in the table header or the first row of the table.

To get to the table header string, press the Up arrow key. The table header string is also the summary of the HTML table that contains the table data.

Preference buttons

To open the Preferences menu, you must be in Non-Forms (Virtual PC Cursor) mode. See "Character fields: with menus displayed as drop-down lists" in Fields-and-No-Vision-support.

Reading selected row(s) in a table or results list

JAWS reads the rows correctly.

Results lists

The Results list and the Details pane are in tab order. In Forms mode, press Ctrl+Alt+F6 to switch between the Results list and the Details pane.

For more information about JAWS commands for interacting with tables, see "HTML Tables" in JAWS help. See also the following row, "Table fields."

Table fields

If your tables contain only one row or column, you might have to turn on JAWS verbosity.

To read the cells in a table field, use JAWS HTML commands to read table data. For example, to read the current cell, press Alt+Ctrl+Num Pad 5. JAWS reads "Column x, row y, labelOfColumn, cellData." For more information about JAWS commands for interacting with tables while in Non-Forms (Virtual PC Cursor) mode, see "HTML Tables" in JAWS help.

Make sure that table rows are selected and table information is read in Non-Forms (Virtual PC Cursor) mode.

To select a row, click the "select" link. When a row is selected, the link changes to "unselect primary" or "unselect" (if the row is a secondary selected row). To select rows, you must go to each row and select it. No shortcut keys are available in Non-Forms (Virtual PC Cursor) mode for a disjointed or contiguous selection.

If selection is allowed, the Select All and DeSelect All links are added to the Select column header.

OnRowChoice active links are executed by activating the "single click" link.

OnDoubleClick active links are executed by activating the "double click" link.

For No Vision users, the row's select link text indicates the state of the row selection. For example, if the link text says "unselect primary," that row is the primary selection. Activating this link deselects the row.

Images in cells are part of the cell. If the image has alternative text, it is spoken as part of the cell.

Press Insert+F7 in JAWS to list all the links in the table. The selection links (such as select, unselect, single-click, and double-click) are listed with regards to the context of the table data. For example, if the first row of Table Sales Data has a row header set at design time for a column Y, JAWS reads the "select" link as "select on Table Sales Data Y columnData" for that row. Y is the column within the table that is set as the row header whose data JAWS reads to identify each unique row.

Other links (such as unselect, single-click, and double-click) also reflect the same with regards to the column data on each row of the table.

If pagination (chunking) is enabled, then the table header displays links to navigate to the previous page and next page as well as a list to choose a specific record set. In both modes, JAWS reads the following if you want to navigate to the previous page: Click to move to the previous page in table <table name>.

For next chunk, it reads: Click to move to the next page in table <table name>.

For the chunk drop-down list, it reads: Click to show a menu to choose a record set displayed in table <table name>.

For the chunk input field, it reads the displayed records and whatever value is displayed.


Tree fields

Non-Forms (Virtual PC Cursor) mode

To open or close a node, tab to the open or close icon and press Enter.

When the focus is at the opened or closed icon, JAWS says "level x value open/closed graphic." When you press Enter, JAWS says, "Enter." Tab to the node text to hear the state of the node (open or closed), or tab backwards from the node text to the open or closed icon.

To go through the items, press Tab. To select an item and execute an OnRowChoice active link, press Enter or the space bar. Selection can be on a leaf or node.

Images on a tree are spoken as part of the node or leaf level. To hear the alternative text associated with the image, no extra tab stop is needed.

How No Vision or Low Vision users access table fields

The following examples illustrate how No Vision or Low Vision users access table fields.

  • Selection (multi, single, and disjoint)—To select multiple columns, use the "select" link. The first column selected is the primary selection. To move from cell to cell in a row, use the JAWS Ctrl+Alt+Down Arrow command. To go to a specific cell, press CTRL+J. You can also tab because tabbing goes to each link. You must select each row. There is no shortcut key to make multiple selections with one keystroke. Use the JAWS HTML table commands to help users access links for faster selection.
  • Restarting a selection after selections have been made—To remove all selections and make the row the primary selection, use the "single click" active link.
  • Clearing or selecting all in a table field—To access the Select All and DeSelect All links, go to the Select column.
    Important: If the table is no select, these links are not available. If the table is single select, Select All is not available.
  • Hearing which row is selected—Go to a cell in the select column and read the contents.
  • Contiguous selection—No equivalent exists for quickly selecting contiguous rows. You must go to each row and select it.

Navigating tables

You should be familiar with JAWS table commands before working with tables on the Web.

JAWS does not consistently know when the DOM has changed. After a table refresh in JAWS, Press Insert+Esc to update the JAWS DOM model.

In Non-Forms (Virtual PC Cursor) mode, remember the following tips to navigate through a table field:

  • When you are inside the table field data (table rows), use JAWS HTML table commands to go through the table data. JAWS reads additional information to help users identify the cell data location. JAWS considers the table header row 1, so the first data row is identified as row 2.
  • To go to the first visible component of a table field, press Tab. If a table field header exists, the first visible component is usually the Preferences button. If no header exists, it is the first row in the table. When you are inside a table, press the Up or Down arrow key to go from cell to cell.

The following list shows the order in which JAWS works with components in a table field. Components in bold are common to tables with and without headers and footers. This list is based on the table layout in Non-Forms (Virtual PC Cursor) mode.

  • Table field refresh string.
  • JAWS says "blank."
  • Preferences and Refresh buttons.
  • Column headers—The preferred method is to sort the table data's column header. You can use these column headers to sort by column. When you are positioned at a column, you can optionally press ENTER to sort the table data. Sorting status is not available on these column headers.
  • Blank—JAWS says "blank."
  • Summary of the table—You will hear that the table is not loaded or the number of entries returned.
  • JAWS says information about the table; for example, "Table with three columns and seven rows."
  • Select column header, tab to each link in the cell. To trigger the link, press the space bar or Enter.
  • Select All (available for multiselection tables).
  • Deselect All (available for multi- and single-selection tables).
  • Column headers—If the column is sorted, JAWS says "Column label, sorted ascending (or descending)." To sort on this column, press the space bar or Enter.
  • Each table row—To traverse the table, use JAWS HTML table commands. To access each link in the select cell for each row, press Tab.
  • Last table row with no footer
  • When you press the Down arrow key, JAWS says "table end."
  • When you press Tab, the system tabs to the next field in the tab order.
  • Last table row with footer.
  • When you press the Down arrow key, JAWS says "table end."
  • When you press Tab, the system tabs to the table footer buttons.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*