E.1 Understanding Screen Reader Mode

This section describes screen reader mode Sessions can be defined as optimized for use with screen readers. This includes both when using the Application Express development environment and also for use in your own applications.

E.1.1 Enabling Screen Reader Mode

You can enable screen reader mode by selecting Screen Reader from Accessibility Mode list on the Workspace home page and on the Oracle Application Express Administration Services page.

Description of accessibility_mode_reader.png follows
Description of the illustration ''accessibility_mode_reader.png''

You can enable screen reader mode in the Websheet application by clicking the Screen Reader link located in the lower right side of the Websheet home page.

If you intend on using the Oracle Application Express development environment with a screen reader, ensure that you have this option enabled.

E.1.2 Using Screen Reader Mode in Your Database Applications

Sessions in Oracle Application Express can now be identified as optimized for screen readers, in the Oracle Application Express development environment, Websheet runtime, and also within your own database applications. By default sessions are not flagged as running in screen reader mode. This section describes how you can provide users of your own database applications access to this mode and also how you can extend it.

Tip:

Although screen reader mode improves the usability of Oracle Application Express with a screen reader, there may still be some areas where outstanding issues remain. For a full list of outstanding issues with workarounds where possible, see "What Does Screen Reader Mode Do?" and Oracle Application Express Release Notes.

E.1.2.1 Provisioning Screen Reader Mode

You can provision screen reader mode for use with your own database application in three ways:

  1. Use the page template #SCREEN_READER_TOGGLE# substitution string.

    Add the #SCREEN_READER_TOGGLE# substitution string to your page template and Oracle Application Express displays a link to the current page to turn on or off (toggle) the mode. So if you are in standard mode, this procedure generates a link to turn it on.

  2. Use APIs to control screen reader mode.

    You may want to use the APIs if you only want to render the toggle in one place and not at the page template level, or if you want more control over the actual displayed link text. To learn more, see "APEX_UTIL" in Oracle Application Express API Reference.

  3. Use the f?p syntax REQUEST attribute to enable and disable screen reader mode.

    The general syntax for f?p is:

    f?p=application:page:session:request:...
    

    If the request is exactly SET_SESSION_SCREEN_READER_ON or SET_SESSION_SCREEN_READER_OFF then the session is put into or out of Screen Reader mode. For example:

    <a href="f?p=100:1:&SESSION.:SET_SESSION_SCREEN_READER_ON">Set Screen Reader On</a>
    

E.1.2.2 Extending Screen Reader Mode

In addition to what this mode does by default as detailed in "What Does Screen Reader Mode Do?," you can control your own page components. For example, you can conditionally display region when running in Screen Reader mode. See "APEX_UTIL" in Oracle Application Express API Reference for details of the relevant database functions, APEX_UTIL.IS_SCREEN_READER_SESSION and APEX_UTIL.IS_SCREEN_READER_SESSION_YN.

E.1.3 What Does Screen Reader Mode Do?

Enabling Screen Reader mode currently does the following, by default:

  • Oracle Application Express Flash charts are not currently accessible to screen readers, therefore when running in screen reader mode the user gets a report representation of the information conveyed in the chart. A separate report is generated for each series of a multiple-series chart. When running in screen reader mode, these data tables contain descriptive text, in the following format:

    • Database Applications:

      • Summary Text - A combination of the chart title and chart series title are used.

      • Column Headers - The column name/alias in the chart series query identifies the columns in the report.

    • Websheet Applications:

      • Summary Text - The section title is used as the summary text.

      • Column Headers - The Data Grid report labels identify the columns in the report.

  • Interactive report regions in Report View or Group By View use data tables to convey information. Data tables require a text description that describes what information the table contains to a screen reader user. When running in screen reader mode, these data tables now contain detailed summary text, in the following format:

    • Region - The name of the region defined by the developer.

    • Report - The name of the current Saved Report within the Interactive Report. Default to Primary Default if no saved report is defined.

    • View - The current view of the report (Either Report or Group By).

    • Displayed Rows Start - The starting row of the currently displayed set of rows.

    • Displayed Rows End - The ending row of the currently displayed set of rows.

    • Total Rows - The total number of rows returned by the report.

  • Interactive report regions provide the ability to add Aggregates to your report data. One of the available aggregates is to Sum a column's values. When running in screen reader mode, the text Sum: is displayed as a prefix to the summed value. In standard mode only the summed value is displayed. All other aggregates display an aggregate type prefix by default, regardless of mode.

  • Item level Help text is provided differently in screen reader mode. In standard mode, a dialog is displayed on your page displaying the Help text for a specific item. Since these dialogs have many problems when used with screen readers, a the classic popup page displays item help text when running in screen reader mode.

  • Application Express includes two implementations of the Tree region component in database Applications: Tree and jsTree (legacy). For improved accessibility, Oracle recommends using Tree. jsTree (legacy) has some accessibility problems, and for this reason when running in screen reader mode the user gets an unordered hierarchical list as a representation of the information conveyed in the tree.

  • Screen reader mode has greatly improved the process for the user of dealing with raised validation errors. Consider the following example. A form page is submitted and a validation has failed resulting in displayed errors. If the page item has an associated error, then additional markup is added to that page item so that the screen reader informs the user that the item contains an invalid entry, when moving through the form fields. Additionally, the user is informed of the corresponding error message, when moving through the form fields.

    Tip:

    You must be using both a screen reader and browser that supports WAI-ARIA, to benefit from these improvements.
  • Interactive report regions have a Fixed Header option that enables developers to fix the headers of the interactive report for visual users. Because this functionality changes the underlying table structure and has a detrimental effect for screen reader users, this option is disabled when running in Screen Reader mode.