../E12196-03.epub /> ../E12196-03.mobi />

D Accessibility in Oracle Application Express

This section attempts to provide information for users who are accessing Oracle Application Express utilizing only a keyboard or Freedom Scientific's screen reader JAWS.

This section contains the following topics:

For additional information about the accessibility of Oracle products, see:

http://www.oracle.com/accessibility

Note:

JAWS release 10.0.1139 with all default settings was used in writing this section.

D.1 General Violations

The following is a list of general accessibility violations in Oracle Application Express, followed by known workarounds where possible:

  • Some tables containing data are poorly marked up with appropriate summary information. This issue does not currently have a workaround.

    In some situations, JAWS may interpret the contents of a layout table as a data table and when this happens, the table will be available in the JAWS buffer and navigable using the JAWS navigation quick key T. However due to the missing summary text, these are difficult to identify.

  • Some form items do not have a label tag describing the form item.

    This issue does not currently have a workaround.

  • Some decorative images are missing an empty alt text.

    This issue does not currently have a workaround.

  • Some non-decorative images are not accompanied by alt text.

    This issue does not currently have a workaround.

  • Some region types contain layout tables (that is, tables with an empty summary attribute) that contain th tags.

    This issue does not currently have a workaround.

  • If functionality is provided by XMLHTTP (AJAX) and DHTML scripting languages, screen readers may not properly interpret screen updates. In most, but not all cases, JAWS interprets the updates presented utilizing XMLHTTP. In the cases where updates are picked up, there is still a problem since JAWS does not notify the user of the update.

    This issue does not currently have a workaround.

  • Some event handlers are not device independent.

    For example, JAWS does have a mechanism to fire onmouseover events that can help with these types of event handlers.

    To activate an onmouseover event handler in JAWS:

    1. Move to the element that contains the onmouseover event. Note that you know if the element has this event handler if JAWS announces “on mouse over” on arrival.

    2. Press CTRL+INSERT+ENTER to launch the mouseover event.

  • Some pages contain contextual Help within Show/Hide regions, which are hidden by default. This information is currently not accessible using keyboard navigation.

    This issue does not currently have a workaround.

  • Tab orders do not always follow a logical order.

    This issue does not currently have a workaround.

  • Some layout tables have no summary attribute.

    This issue does not currently have a workaround.

  • Some tables containing data have an empty summary attribute.

    This issue does not currently have a workaround.

D.2 Tips for Accessing Form Pages in Oracle Application Express

Many of the pages in Oracle Application Express are form pages designed for maintaining application metadata. This section describes how you can gain an understanding of the structure of these pages and interact with them using a screen reader such as JAWS.

Topics in this section include:

D.2.1 Understanding the Structure of a Page

Many form pages are logically broken up into different regions. For example, the Edit Page Item page has the following regions containing form fields for maintaining information about the page item:

  • Name

  • Displayed

  • Label

  • Element

  • Source

  • Default

  • LOV

  • Security

  • Conditions

  • Read Only

  • Help

  • Configuration

  • Comments

Unfortunately these page sections are not marked up with HEADERS (Hn) tags, therefore another approach is required to gain an understanding of this structure. At the top of the page, there are links that take the user directly to the region they wish to locate. There are contained within a division element. Additionally, there is Show All link as the first link in the set.

By understanding that links to each section exist in a division element, you can understand of the overall structure of the page using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name, Edit Page Item.

  2. Press CTRL+INSERT+ Z to load the Select a Division dialog box.

  3. Press S repeatedly to go to the division that begins with Show All.

    JAWS reads the contents of the division and in doing so gives you a list of all the regions on the page.

  4. Press ENTER to navigate to the division.

  5. Press DOWN ARROW to access each link for each region on the page.

  6. To navigate to a particular region, press ENTER on the appropriate link.

D.2.2 Using the Tasks Links on a Page

Many pages in Oracle Application Express contain a Tasks region on the right-hand side of the page. For example, the Edit Page Item page has a Tasks region on the right side containing a list of links relevant to the current item type. There is no HEADER defined on this region currently.

To navigate to the Tasks region using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+F to launch the Find dialog box.

  3. Type tasks and press ENTER.

  4. Since Tasks links are implemented in a list, press the JAWS navigation quick key L once to navigate to the list.

  5. Press the JAWS navigation quick key I to navigate through the list items and ENTER if you wish to activate a link.

D.2.3 Accessing Help Text

This section describes how to use JAWS to access Page Help and Item-level help in Oracle Application Express.

Topics in this section include:

D.2.3.1 Accessing Page Help

Many pages in Oracle Application Express have regions on the right side of the page containing Help text. This Help text describes basic concepts or decision points relevant to the current page. For example, the Edit Page Item page has a region on the top right of the page that reads as follows:

Page Items - Page items are HTML elements with associated session state. Page items can be rendered in many ways such as a text field, a check box, or a select list.

This text is contained within a table with empty summary text and has no HEADER. Navigation to this text is difficult. However, you can navigate to regions like this by searching for text which is similar to the page title. For example, if you were on the Edit Page Item page, you might search for the text Page Items.

To search for the text Page Items using JAWS:

  1. Press the PLUS sign (+) on the numeric keypad to go back into Virtual PC Cursor mode.

    Note: This step is not required if using JAWS 10 with Auto Forms Mode enabled.

  2. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  3. Press CTRL+F to launch the JAWS Find dialog box.

  4. Type page items and press ENTER.

    Once the text has been located, press DOWN ARROW to read the text.

D.2.3.2 Accessing Item Help

Most items within the user interface have field-level Help available by activating or clicking on the field label. If Help text is available, the adjacent label will be implemented as a link, where the link text will match that of the current form item's label text. Activating this link will load a separate window containing the help text.

To access this field-level Help for an item using JAWS:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press INSERT+ F7 to load the Links List dialog box.

  3. Press the first letter of the link text you wish to locate, repeatedly.

    If there is no link text matching the label of the form item you wish to get help for, then there is no help available for that item

  4. If the appropriate link is found, press ENTER to activate the link.

    A separate window containing the Help text appears

  5. Press the JAWS navigation quick key N to go to the help text.

  6. Once you are finished reading the help text, press ALT+F4 to close the Help window and return to page.

D.2.4 Dealing with Raised Validations

If a validation fails when submitting a form, you are redirected back to the same page and an error message displays in a list at the top of the page. Additionally, error text displays inline next to the page item associated with the validation.

The following procedure explains how to identify when a validation fails, review error messages, and rectify the necessary values in order to pass the validation, all within the context of the Edit Page Item form page.

Topics in this section include:

D.2.4.1 Identifying when a Validation Fails

When a validation fails, the same page loads with details of the failure. In this situation JAWS does not read the page as it would normally when loading a new page. You can quickly check if a validation error has occurred by searching for any images with an alt text of Error.

To check for images having an alt text of Error:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+INSERT+G to launch the Select a Graphic dialog box.

  3. Press E repeatedly to try and locate the error image. If there is an error image, then this means a validation has failed.

D.2.4.2 Reviewing Error Messages

If a validation error occurs, a list appears at the top of the page and contains list items with the error text for the failed validations.

To navigate to the list containing error text:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press the JAWS navigation quick key L to go to the first list on the page.

    JAWS will announce "list of x items" where x is the number of errors that has occurred.

  3. Press the JAWS navigation quick key I to read through each error message.

D.2.4.3 Fixing a Validation Error

There is no simple way to navigate from the summary list of error messages to the page item associated with the failed validation. One approach is to navigate to the error image that displays next to the associated page item and then use JAWS reading commands to understand which error you are dealing with.

To navigate to the error image:

  1. Press CTRL+HOME to go to the top of the page.

    JAWS announces the page name.

  2. Press CTRL+INSERT+G to load the Select a Graphic dialog box.

  3. Press E repeatedly to locate the error image.

  4. Press ENTER to navigate to the error image.

  5. Press DOWN ARROW once to go to the Help text link for the associated field.

    This tells you which field has a validation error since the link text is the same as the form field label.

  6. Press the DOWN ARROW again to go to the error message.

  7. Press the JAWS navigation quick key F to go to the page item.

  8. Press ENTER to enable Forms Mode and provide a new value.

    Once you provide a new value and fix the error, you need to locate subsequent error images on the page.

  9. To locate subsequent error messages on the page:

    1. Press the PLUS sign (+) on the numeric keypad to go back into Virtual PC Cursor mode.

    2. Press the JAWS navigation quick key G repeatedly until you locate the next error image.

      JAWS announces "graphic error."

    3. Once you have located the next error image, repeat steps 5 to 8 until all errors have been addressed.

    4. Once all errors have been addressed, you need to click the Apply Changes button:

      • Press the JAWS navigation quick key B until you hear JAWS announce "Apply Changes Button."

      • Press ENTER to apply your changes.

        If your changes fixed all the validation errors, you will be taken back to the 'Page Definition' page.

D.3 Issues with Interactive Report Regions

Oracle Application Express, release 3.1 included a new report region called interactive report. Interactive report regions enable users to alter the layout of report data by choosing columns and applying filters.

In Oracle Application Express release 3.2, interactive report regions are only utilized within the Oracle Application Express Application Migration module. Interactive report regions have a number of violations that strongly prohibits their usability with screen readers and keyboard-only users.

The following list explains these violations and includes known workarounds where possible:

  • The Actions menu is not accessible by a screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • The Search icon menu to the left of the Search region is not accessible by screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • The column headings used to sort, filter, group, exclude data, or display Help about data are not accessible by a screen reader or by keyboard navigation.

    This issue does not currently have a workaround.

  • Interactive report regions produce a table with rows that do not contain a HEADER attribute linking to the id of the th tag for that column. Although the number of violations on interactive reports strongly prohibits their use with screen readers such as JAWS, this particular violation is not a major issue. This is because the data tables are fairly simple (nearly always where each cell is associated with only 1 HEADER and row) and do use the appropriate table markup (th and td elements). Thus, screen readers such as JAWS are able to announce the context of a particular cell.

    The one exception is when a Control Break is defined on the data in the interactive report to group it. In this situation, an additional th element is generated for the column that the Control Break has been enabled. Because of the missing markup, it is therefore difficult to get the full context when navigating the cells of the table in this situation.

  • Flash charts do not provide alternative descriptive text.

    This issue does not currently have a workaround.

  • An animated GIF is sometimes used to indicate processing is underway (for example, when filtering a report or loading a chart). This information is not available in a non-animated presentation mode.

    This issue does not currently have a workaround.

  • Some Form items in AJAX-based dialog boxes do not have associated label tags.

    This issue does not currently have a workaround.

  • The layout table used for the Search tab has no summary attribute. Although the number of violations on interactive reports strongly prohibits their use with screen readers such as JAWS, this particular violation is not a major issue. Screen readers such as JAWS do not pick this up as a data table.

  • The table containing data has an empty summary attribute. This issue does not currently have a workaround.

    Due to the contents of the table, screen readers such as JAWS do pick this up as a data table. It is therefore available in the screen reader's buffer and navigable using the JAWS navigation quick key T. However due to the empty summary text, it is difficult to identify.

  • Because interactive reports requires functionality provided by the XMLHTTP (AJAX) and DHTML scripting languages, screen readers may not properly interpret screen updates. For example, in some cases screen readers such as JAWS pick up the updates presented using XMLHTTP. Even if updates are picked up, JAWS does not announce the update.

    This issue does not currently have a workaround.

D.4 Accessing Interactive Report Regions Using a Keyboard

As described in "Issues with Interactive Report Regions", some features in Interactive Reports are not available to keyboard-only users. This section describes some basic features that are available by tabbing through the focusable elements on the page.

Topics in this section include:

D.4.1 Searching an Interactive Report

All interactive reports feature a Search field at the top of the page. This Search field is a standard text item.

To execute a search using a keyboard:

  1. Press TAB repeatedly to navigate to the Search field.

  2. Type keywords in the Search field.

  3. Press ENTER to invoke the search. Alternatively, you can also press TAB to navigate to the Go button and then press ENTER.

D.4.2 Specifying Rows to Display

The Rows select list displays to the right of the Search field at the top of the page and controls the number of rows that display in the report. This is a standard select list.

To use the Rows list using a keyboard:

  1. Press TAB to navigate to the Rows list.

  2. Press Down Arrow or Up Arrow to make a selection.

  3. Press TAB to navigate to the Go button and then press ENTER.

D.4.3 Managing Bulk Updates

Some interactive reports in Oracle Application Express Application Migration Workshop contain form items for applying bulk updates to components (for example, the Blocks page). All form items within the report and buttons to apply the changes are keyboard accessible. Also some pages feature a check box in the first row to perform bulk processing and corresponding Select All and Deselect All links below the report. All of these items are keyboard accessible.

D.4.4 Utilizing Drill Down Links

All the interactive reports Oracle Application Express Application Migration Workshop contain at least one link to edit or view a specific sub-components. These are all standard links and are therefore keyboard accessible.

D.4.5 Editing Existing Filters

When an existing search filter is applied to an interactive report, a search filter displays below the Search bar.

You can access the search filter using the keyboard to:

  • Edit the search filter.

    Press TAB to navigate to the search filter and then press ENTER to open the Filter dialog box. Since the focus does not move automatically to the dialog box, press SHIFT+TAB until you reach the appropriate controls.

  • Disable or enable the search filter.

    Press TAB to navigate to the check box to the right of the filter and SPACEBAR to disable or enable the filter.

  • Delete the search filter.

    Press TAB to navigate to the search filter and then ENTER to open the Filter dialog box. Press TAB or SHIFT+TAB to navigate to the Delete button and then press ENTER.