Using Screen Reader Mode in Your Database Applications

Sessions in Oracle Application Express can now be identified as optimized for screen readers, both 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, please refer to "Accessibility in Oracle Application Express" and Oracle Application Express Release Notes.

Topics:

Provisioning Screen Reader Mode

There are three ways you can provision this mode for use with your own database applications.

  1. Page template #SCREEN_READER_TOGGLE# substitution string - Add this 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. There are also APIs that can be used to control this mode. You may want to use the APIs if you only want to render the toggle in one place and do not want to do this at page template level or if you want more control over the actual displayed link text. Please see the Oracle Application Express API Reference for more details on these APIs.

  3. Using 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>
    

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. Please see the 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.