Using High Contrast Mode in Your Database Applications

You can identify sessions as optimized for high contrast in the Oracle Application Express development environment, Websheet runtime, and also within your own database applications. This section describes how you can provide users of your own database applications access to this mode and also how you can extend it.

Topics:

Provisioning High Contrast Mode

There are three ways you can provision this mode for user's of your own database applications:

  • Page template #HIGH_CONTRAST_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 (or toggle) the mode. In other words, if you are in standard mode, this procedure generates a link to turn it on.

  • APEX_UTIL APIs - 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. To learn more, see "APEX_UTIL" in Oracle Application Express API Reference.

  • f?p syntax REQUEST attribute - Use this attribute to enable and disable high contrast mode. The general syntax for the f?p syntax REQUEST attribute is:

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

    If the request is exactly SET_SESSION_HIGH_CONTRAST_ON or SET_SESSION_HIGH_CONTRAST_OFF then the session is put into or out of high contrast mode. For example:

    <a href="f?p=100:1:&SESSION.:SET_SESSION_HIGH_CONTRAST_ON">Set High Contrast On</a>
    

Extending High Contrast Mode

In addition to what this mode does by default as described in "What Does High Contrast Mode Do?", you can also control your own components. For example, you could conditionally include a high contrast specific CSS file, when running in high contrast mode.

To learn more, see "APEX_UTIL" in Oracle Application Express API Reference details of the following functions: APEX_UTIL.IS_HIGH_CONTRAST_SESSION and APEX_UTIL.IS_HIGH_CONTRAST_SESSION_YN.