Accessing Form Pages Using JAWS

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:

Understanding the Structure of Pages

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

  • Settings

  • List of Values (depending on item type)

  • Element

  • Source

  • Default

  • Quick Picks (depending on item type)

  • Conditions

  • Read Only

  • Security

  • Configuration

  • Help Text

  • Comments

Oracle Application Express uses Heading (Hn) tags throughout its development interface to help define the structure of a page. For example, the Edit Page Item page has the following Headings defined:

  • Level 1 (H1)*

    • Application Express

  • Level 2 (H2)*

    • Name

    • Displayed

    • Label

    • Settings

    • Element

    • Source

    • Default

    • Conditions

    • Read Only

    • Security

    • Configuration

    • Help Text

    • Comments

  • Level 3 (H3)*

    • Page Items

    • Tasks

The previous list represents of how headings are used in the Oracle Application Express development environment. Note the following:

  • Level 1 headings (H1) provides a link to the relevant root page depending on the context of where you are in the development environment (for example when editing an application this takes you to the home page for the application in the Application Builder).

  • Level 2 headings (H2) contain sections integral to the primary function of the current page.

  • Level 3 headings (H3) that contain sections that are related to the function of the current page.

To gain an overview of all the headings on the current page, press INSERT+F6 to list the current page's headings.

You can also use other JAWS keystrokes to navigate through the page headings. For example, to navigate around level 2 headings:

  1. Press INSERT+ALT+CTRL+2 to go to the first heading on the page at level 2.

    On the Edit Page Item page, JAWS announces, "Name heading level 2."

  2. Press 2 to go to the next heading at level 2.

    On the Edit Page Item page, JAWS announces, "Displayed heading level 2."

  3. Press SHIFT+2 to go to the previous heading at level 2.

    On the Edit Page Item page, JAWS announces, "Name heading level 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. This region has a level 3 Heading (H3) defined on the section title Tasks (as this is a section that is related to the primary function of the current page).

To navigate to the Tasks region using JAWS:

  1. Press INSERT+ALT+CTRL+3 to go to the first heading on the page at level 3.

    JAWS announces, "Page Items heading level 3" on the Edit Page Item page. This contains general help information about page items.

  2. Press 3 to go to the next heading at level 3.

    On the Edit Page Item page, JAWS announces, "Tasks heading level 3." This contains a list of links to related tasks.

  3. Press L once to navigate to the list.

    JAWS announces, "List of x items" (where x depends on the type of page item currently being edited).

  4. Press I to navigate through the list items and press ENTER to activate a link.

Accessing Help Text

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

Topics:

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 is implemented as a link, the link text matches the current form item's label text. Activating this link loads 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 load the Links List dialog box.

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

    If there is no link text matching the label of the form item you want 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.

Dealing with Validation Errors

Oracle Application Express provides many in-built features that help a JAWS user deal validation errors on form pages.

Topics:

Understanding the an Error Has Occurred

If a validation has failed on a form page when using Screen Reader mode, the page title is prefixed with the following:

x errors have occurred - [page title]

When a page loads, JAWS announces the page title. This means a JAWS user immediately knows a validation has failed.

Tip:

This behavior is also available by default for custom database applications that provision Screen Reader mode. See "About Screen Reader Mode".

Reviewing the Error

To navigate to the section of the page where the error messages display, locate the H2 (Heading Level 2) tag with the text Notification Message included at the top of this section. This heading is hidden visually, but is available to screen reader users.

Adding a Validation Notification to Your Database Applications

You can easily add this functionality to your own database applications. To accomplish this, add the substitution string #NOTIFICATION_MESSAGE_HEADING# in the Page Template, Subtemplate, Notification section of a page template. This placeholder substitutes the contents of the built-in system message APEX.NOTIFICATION_MESSAGE_HEADING to the text Notification Message.

To customize this displayed text, define a text message with that name APEX.NOTIFICATION_MESSAGE_HEADING in your own application, along with the text you want to use.

For example, you could add the following to the Notification section of your page template:

<h2 class="hideMeButHearMe">#NOTIFICATION_MESSAGE_HEADING#</h2>

In this example, the use of the hideMeButHearMe CSS class hides content visually, but is available to screen reader users.

Navigating to the Relevant Fields to Fix the Errors

For validations that are associated with a particular page item, Oracle Application Express renders a Go to error link in the Notification section next to the corresponding error message. When a user clicks (or activates) the Go to error link, the focus shifts to the associated item. This enables all users (not just screen reader users) to go straight to the page item related to the error.

You can alter the Go to Error text to change the default text or to translate it into a language that is not translated by default with Oracle Application Express. In either case, define a text message called APEX.GO_TO_ERROR with the text and language of your choice. Additionally, you can disable this functionality and remove the Go to Error link by setting the text of the APEX.GO_TO_ERROR text message to just a single space. To learn more, see "Translating Messages Used Internally by Oracle Application Express".

About WAI-ARIA Support

When running in Screen Reader mode, Oracle Application Express includes some Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) markup to invalid page items. This enhancement improves the screen reader user experience for screen reader and browser combinations that support WAI-ARIA.

When an error occurs relating to a specific page item, that page item is given the following additional attributes:

  • aria-invalid="true"

    This means a screen reader announces "Invalid Entry"when the screen reader user is focused on the page item.

  • aria-describedby="[page_item_name]_error"

    This attribute value matches up with the item's associated error messages so when the screen reader user focuses on the page item, the screen reader announces the actual error.

Before this enhancement, if a screen reader user navigated to a page item that had an error, the screen reader might announce, "Job, Edit, Type of Text." Now the screen reader would announce, "Job Edit, Invalid Entry, Job must have some value, Type of Text."

Tip:

If you are a plug-in item developer and want to provide the same WAI-ARIA support in your own plug-in, please see the APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES function in Oracle Application Express API Reference.