Tables and No Vision support
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.
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:
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
Forms mode
|
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. |
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. |
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. |
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.