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.

Although this mode improves 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, refer to " Accessibility in Oracle Application Express" and Oracle Application Express Release Notes.


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:


    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>

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.