Oracle® Application Express

Accessibility Guide

Release 5.1

E89048-01

November 2017

Oracle Application Express Accessibility Guide, Release 5.1

E89048-01

Copyright © 2017, 2017, Oracle and/or its affiliates. All rights reserved.

Primary Author: John Godfrey

Contributing Authors: Anthony Rayner, Chaitanya Koratamaddi

Contributor: Terri Jennings

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

1 About This Accessibility Guide

- 1.1 What is Web Accessibility?

- 1.2 Why Accessibility is Important

- 1.3 About Building for Accessibility

2 Using Oracle Application Express with Assistive Technologies and Keyboard

- 2.1 Understanding Screen Reader Mode

- 2.1.1 What Does Screen Reader Mode Do?

- 2.1.2 Enabling Screen Reader Mode

- 2.2 Understanding High Contrast Mode

- 2.2.1 What Does High Contrast Mode Do?

- 2.2.2 Enabling High Contrast Mode in a Websheet Application

- 2.3 Accessing Form Pages Using JAWS

- 2.3.1 About the Structure of Pages

- 2.3.2 Accessing Help Text

- 2.3.3 Dealing with Validation Errors

- 2.3.3.1 About Understanding the an Error Has Occurred

- 2.3.3.2 Reviewing the Error

- 2.3.3.3 Navigating to the Relevant Fields to Fix the Errors

- 2.3.3.4 About WAI-ARIA Support

- 2.4 Accessing Oracle Application Express Using a Keyboard

- 2.4.1 Using Date Pickers

- 2.4.2 General Keyboard Shortcuts

- 2.4.3 Keyboard Shortcuts in CSS Calendar

- 2.4.4 Keyboard Shortcuts in Interactive Grid Regions

- 2.4.5 About Configuring Interactive Grids to Support Multi-select

- 2.4.6 Accessing Interactive Report Regions

- 2.4.6.1 Searching Data in an Interactive Report

- 2.4.6.2 Using the Actions Menu

- 2.4.6.3 Managing Bulk Updates

- 2.4.6.4 Utilizing Drill Down Links

- 2.4.6.5 Editing Existing Filters

- 2.4.6.6 Loading Saved Reports

3 Developing Accessible Apps

- 3.1 Developing Accessible Themes

- 3.1.1 About Accessibility Features in Universal Theme

- 3.1.2 About Accessible Theme Styles

- 3.1.3 About Theme Roller

- 3.2 Developing Accessible Pages

- 3.2.1 Accessible Page Titles

- 3.2.2 Accessible Page Modes

- 3.2.3 Accessible Cursor Focus

- 3.2.4 Accessible Reload on Submit

- 3.3 Developing Accessible Regions

- 3.3.1 Accessible Page Structure

- 3.3.2 Accessible Interactive Grid Regions

- 3.3.3 Accessible Interactive Report Regions

- 3.3.4 Accessible Classic Report Regions

- 3.3.5 Accessible Tabular Forms Regions

- 3.3.6 Accessible JET Chart Regions

- 3.4 Developing Accessible Form Pages and Items

- 3.4.1 Accessible Form Page Attributes

- 3.4.2 Accessible Date Pickers

- 3.4.3 Accessible Select Lists and Radio Groups

- 3.4.4 Accessible Check Boxes

- 3.4.5 Accessible Display Image Alternative Text

- 3.5 Developing Accessible Buttons

4 Open Bugs and Known Issues

5 Further Reading

Index

Preface

Oracle Application Express End User’s Guide offers an introduction to using Oracle Application Express applications from an end user's perspective. This guide explains how to use interactive grids, interactive reports, Websheets, and use applications that include the ability to upload data.

Topics:

- Audience

- Documentation Accessibility

- Related Documents

- Conventions

Audience

Oracle Application Express Accessibility Guide is intended for end users who are running Oracle Application Express applications. To use this guide, you must have a general understanding of relational database concepts and an understanding of the operating system environment under which you are running Oracle Application Express.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see these Oracle resources:

- Oracle Application Express Release Notes

- Oracle Application Express Installation Guide

- Oracle Application Express App Builder User’s Guide

- Oracle Application Express End User’s Guide

- Oracle Application Express Administration Guide

- Oracle Application Express SQL Workshop Guide

- Oracle Application Express API Reference

- Oracle Application Express Application Migration Guide

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 About This Accessibility Guide

This guide consists of two distinct sections: general instructions for accessing Oracle Application Express with a assistive technologies and a keyboard, and guidelines for developing Oracle Application Express applications that are accessible and highly usable to all users.

"Oracle is committed to creating accessible technologies and products that enhance the overall workplace environment and contribute to the productivity of our employees, our customers, and our customers’ customers." —Safra Catz, Chief Executive Officer, Oracle

Accessibility Overview

Web accessibility means people with disabilities can effectively use and contribute to the web. To ensure people with disabilities can use Oracle Application Express, we need to design and develop more accessible web applications and software.

Accessibility is not just a checklist, but an ongoing and planned effort. The aim of this guide is to help you start the planning process, and understand how to build accessible applications with Oracle Application Express.

Accessibility Statement for Oracle Application Express

Oracle Application Express is Oracle's primary tool for developing web applications with SQL and PL/SQL. Using only a web browser, you can develop and deploy professional web-based applications for desktops and mobile devices. Oracle Application Express is a fully supported, no cost option for the Oracle Database. It is installed by default in all editions of the Oracle Database.

Oracle Application Express 5.1, including the Universal Theme (UT), follows Oracle's corporate web accessibility guidelines, which themselves are based on WCAG 2.0 to AA Level and the applicable standards of Section 508. How well Oracle Application Express meets these standards is described in the VPAT for Oracle Application Express 5.1, which is the framework’s statement of conformance to these guidelines.

Topics:

- What is Web Accessibility?

- Why Accessibility is Important

- About Building for Accessibility

1.1 What is Web Accessibility?

This guide refers to the Web Content Accessibility Guidelines 2.0 (WCAG 2.0) to back up some of the guidelines with the relevant standard and provide further reading.

According to W3C, web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the web, and that they can contribute to the web. The disabilities that affect access to the web can be categorized as: visual, auditory, speech, cognitive, physical, and neurological. The goal of web accessibility is to provide equal access to users with disabilities. That is, developers need to focus on building more accessible web applications and products. Apart from people with disabilities, the elderly with increasing impairments, and people in a limiting situation (for example, slow internet connection, no audio etc.) can also benefit with accessible applications and products.

Principles of Accessibility

WCAG 2.0, which is created by W3C defines the four principles of accessibility as:

- Perceivable: Information and user interface components must be presentable to users in ways they can perceive. That is, users must be able to perceive the information presented.

- Operable: User interface components and navigation must be operable. That is, users must be able to operate the interface.

- Understandable: Users must be able to understand the information as well as the operation of the user interface.

- Robust: Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.

Each principle includes a list of guidelines that address the principle and there are a total of 12 guidelines. Each guideline includes one or more testable success criteria, which are at three levels: A, AA, and AAA. To learn more about these principles, guidelines, and success criteria, see Web Content Accessibility Guidelines 2.0 (WCAG 2.0).

1.2 Why Accessibility is Important

Up to 16% of the world population is disabled, either through birth, ageing, illness, or the result of an accident. Accessible products remove obstacles between a company and its existing or potential customers. Accessibility enables employers to recruit from a broader pool of talent. Overall, accessibility generally improves product for everyone (Universal Design).

Developing accessible products is very important for companies in order to adhere to Procurement and Discrimination laws such as:

- Section 508 of the Rehabilitation Act of 1973

- Mandate 376 (E.U.)

- Accessibility for Ontarians with Disabilities Act (Canada)

- Americans with Disabilities Act (U.S.)

- Disability Discrimination Act, and Equality Act (U.K.)

- Twenty-First Century Communications and Video Accessibility Act (U.S.)

1.3 About Building for Accessibility

Building for accessibility means coding to standards and not for a specific technology. Building to standards often leads to better, standardized HTML and cleaner code. The process of building accessible applications at Oracle involves considerable amount of time and resources at all stages of the development cycle. Accessibility guidelines and standards are considered, implemented, and reviewed through the Voluntary Product Accessibility Template (VPAT, a product’s statement of conformance to Section 508 of the U.S. Federal Rehabilitation Act).

The Oracle Accessibility Program Office, reporting to the office of the Chief Corporate Architect, is responsible for defining the corporate standards for accessibility, and developing materials to train all employees so that they can successfully create products that meet those standards. To learn more about Oracle’s Accessibility Program, see Oracle Accessibility Information and Resources.

Oracle uses the VPAT to represent the degree of conformance to various accessibility standards and guidelines, including Section 508, WCAG 1.0, and WCAG 2.0. Depending on when a product was developed and released, different standards may be listed.

2 Using Oracle Application Express with Assistive Technologies and Keyboard

Users can access Oracle Application Express using only a keyboard or a screen reader such Freedom Scientific's screen reader JAWS.

Note:

JAWS release 17 with all default settings was used in writing this section. All instructions in this section are based on using a full size keyboard. Note that instructions may vary if using a laptop keyboard.

Topics:

- Understanding Screen Reader Mode

- Understanding High Contrast Mode

- Accessing Form Pages Using JAWS

- Accessing Oracle Application Express Using a Keyboard

See Also:

Oracle’s Accessibility Program

2.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.

Topics:

- What Does Screen Reader Mode Do?

- Enabling Screen Reader Mode

2.1.1 What Does Screen Reader Mode Do?

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

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

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

2.1.2 Enabling Screen Reader Mode

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

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.

2.2 Understanding High Contrast Mode

This section describes high contrast mode. You can identify sessions as optimized for high contrast in Websheet and Database applications. By default, sessions are not flagged as running in high contrast mode.

Topics:

- What Does High Contrast Mode Do?

- Enabling High Contrast Mode in a Websheet Application

2.2.1 What Does High Contrast Mode Do?

Enabling high contrast mode results in the following behavior:

- Application Express Websheet runtime.
Websheet application replace CSS-based image links with text links. These text links are only created for images where the source image is transparent and the CSS background property is used in its place.

- Custom Database Applications.
Nothing is done natively from the framework. It is up to each developer to provision the mode and make changes where required.

2.2.2 Enabling High Contrast Mode in a Websheet Application

You can enable High Contrast mode in a Websheet application by clicking the High Contrast link located in the lower right side of the Websheet home page

2.3 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:

- About the Structure of Pages

- Accessing Help Text

- Dealing with Validation Errors

2.3.1 About 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 define page structure. For example, the Edit Page Item page contains one H1 heading with text pertaining to the current item name, and then H2 headings for all other discrete page sections, including all the item attribute groupings listed above. Please use standard screen reader heading navigation to navigation such pages.

2.3.2 Accessing Help Text

Most items within the Oracle Application Express development environment have field-level help defined. To activate field-level help, focus on the item for which you need help and press the keyboard shortcut ALT+F1. Pressing this keyboard shortcut displays a popup window containing the help text.

2.3.3 Dealing with Validation Errors

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

Topics:

- About Understanding the an Error Has Occurred

- Reviewing the Error

- Navigating to the Relevant Fields to Fix the Errors

- About WAI-ARIA Support

2.3.3.1 About 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 "Understanding Screen Reader Mode."

2.3.3.2 Reviewing the Error

To navigate to the section of the page where the error messages displays, locate the H2 (Heading Level 2) tag with the text "n error has occurred" (where 'n' is the number of errors). Immediately after this heading there will be an unordered list containing all the errors that have occurred on the page.

2.3.3.3 Navigating to the Relevant Fields to Fix the Errors

For validations that are associated with a particular page item, Oracle Application Express renders the actual error message as a link in the notification section. When a user activates the link, focus shifts to the associated item. This enables all users to easily navigate straight to the page item related to the error.

2.3.3.4 About WAI-ARIA Support

Oracle Application Express includes some Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) markup to help screen reader usability in dealing effectively with item errors. 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.

2.4 Accessing Oracle Application Express Using a Keyboard

This section describes how to access components in Oracle Application Express using a keyboard.

Topics:

- Using Date Pickers

- General Keyboard Shortcuts

- Keyboard Shortcuts in CSS Calendar

- Keyboard Shortcuts in Interactive Grid Regions

- About Configuring Interactive Grids to Support Multi-select

- Accessing Interactive Report Regions

2.4.1 Using Date Pickers

There are many keyboard shortcuts for the Date Picker.

To open a Date Picker:

1. Tab to the relevant input field.

2. Press CTRL+HOME to open the Date Picker.

3. Once the Date Picker is open, you have the following navigation options:

- By month:

- Press PAGE UP to go to the previous month.

- Press PAGE DOWN to go to the next month.

- Press CTRL +HOME to go to the current month.

- By week:

- Press CTRL+UP to go to the previous week.

- Press CTRL+DOWN to go to the next week.

- By day:

- Press CTRL+LEFT to go to the previous day.

- Press CTRL+RIGHT to go to the next day.

Once you are finished with the Date Picker:

1. Press ENTER to accept the selected date.

2. Press ESCAPE to close the date picker without selection.

3. Press CTRL+END to close the date picker and erase the date.

2.4.2 General Keyboard Shortcuts

Table 2-1 lists general Oracle Application Express keyboard shortcuts.

Table 2-1 Oracle Application Express Keyboard Shortcuts

Where

Keys

Action

Page Designer, Layout

CTRL+ALT+D

Display from here

Page Designer, Layout

CTRL+ALT+T

Display from page

Page Designer

Alt+2

Go to Dynamic Actions

Page Designer

Alt+9

Go to Gallery, Buttons

Page Designer

Alt+8

Go to Gallery, Items

Page Designer

Alt+7

Go to Gallery, Regions

Page Designer

Alt+5

Go to Layout

Page Designer

Alt+F1

Go to Help

Page Designer

Ctrl+F1

Go to Messages

Page Designer

Alt+4

Go to Page Shared Components

Page Designer

Alt+3

Go to Processing

Page Designer

Alt+6

Go to Property Editor

Page Designer

Alt+1

Go to Rendering

Page Designer

Alt+Shift+F1

List Keyboard Shortcuts

Page Designer

Ctrl+Alt+F

Page Search

Page Designer

Ctrl+Y

Redo

Page Designer

Alt+F11

Restore/Expand

Page Designer

Ctrl+Alt+S

Save

Page Designer

Ctrl+Alt+R

Save and Run Page

Page Designer

Ctrl+Alt+E

Toggle Hide Empty Positions

Page Designer

Ctrl+Z

Undo

Page Designer with focus anywhere that has a context menu

Shift+F10 or Context menu key

Open context menu

Page Designer Layout Gallery and Icon List in wizards

Arrow keys

Move selection

Page Designer Property Editor with focus on a group heading

Up/Down Arrow keys

Move to previous/next group

Page Designer Property Editor with focus on a group heading

Home/End keys

Move to first/last group

Page Designer Property Editor with focus on a group heading

Left/Right Arrow keys or Enter or Space

Expand or collapse the group

Page Designer With focus on any tab

Arrow keys

Select previous/next tab

Focus on a splitter handle

Arrow keys

Move splitter

Focus on a splitter handle

Enter

Expand or collapse splitter if supported by splitter

On pages that have a splitter

Ctrl+F6

Move to next splitter

On pages that have a splitter

Ctrl+Shift+F6

Move to previous splitter

Focus on any field with a (?) help icon

Alt+F1

Open field help dialog

Focus on a field help dialog

Alt+F6

Move focus back to field without closing dialog

Focus in any dialog

Escape

Close dialog

Any page, focus on region display selector "tabs"

Arrow keys

Select the previous/next tab

SQL Commands

Ctrl+Enter

Run the current command

Code Editor

Ctrl+Z

Undo

Code Editor

Ctrl+Shift+Z

Redo

Code Editor

Ctrl+F

Find

Code Editor

Ctrl+Shift+F

Replace

Code Editor with focus in find field

Up/Down Arrows

Find previous/next instance

Code Editor

Ctrl+Space

Auto complete when available

Code Editor

Alt+F6

Leave code editor and go to next tab stop

Code Editor

Alt+Shift+F6

Leave code editor and go to previous tab stop

2.4.3 Keyboard Shortcuts in CSS Calendar

Table 2-2 lists available Oracle Application Express keyboard shortcuts in CSS Calendar.

When the calendar grid (month, week or day view) is being focused, the arrow keys can be used to navigate within the calendar. There are 2 calendar browsing methods: Event Browsing that focuses the existing calendar events and Calendar Browsing that allows to freely select dates or date ranges. Initial mode is Event Browsing. The actual behavior depends on the current view.

Table 2-2 Oracle Application Express Keyboard Shortcuts in CSS Calendars

Where

Keys

Action

Event Browsing

Up Arrow

Go to the previous event. If on the first event in the given view, move to the last event.

Event Browsing

Down Arrow

Go to the next event. If on the last event in the given view, move to the first one.

Event Browsing

N

Switch to Calendar Browsing mode.

Event Browsing

Escape

Leave browsing mode. The calendar Grid is now being focused and [Tab] can be used to navigate to other application regions.

Month View

Left Arrow

Go to the previous day (if on the first day of a month, switch to the previous month).

Month View

Right Arrow

Go to the next day (if on the last day of a month, switch to the next month).

Month View

Down Arrow

Go to the next week; same day.

Month View

Up Arrow

Go to the Previous week; same day.

Month View

SHIFT + RIGHT

Extend the selection by one day. Only up to the end of the current view.

Month View

SHIFT + LEFT

Decrease the selection by one day. Only until the selection spans one day.

Month View

ENTER or SPACE

Execute the Create Link given as Plug-in attribute by the developer or fire Calendar Date Select event.

Month View

Escape

Leave Calendar Browsing and go back to Event Browsing.

Month View

Page Up or Page Down

Move to the next/previous month.

Week View

LEFT

Go to the previous day (if on the first day of a week, switch to the previous week).

Week View

RIGHT

Go to the next day (if on the last day of a month, switch to the next month).

Week View

SHIFT + RIGHT

Extend the selection by one day. Only up to the end of the current view.

Week View

SHIFT + LEFT

Decrease the selection by one day. Only until the selection spans one day.

Week View

UP

Move selection 30 minutes back in time.

Week View

DOWN

Move selection 30 minutes forward.

Week View

SHIFT+ DOWN

Extend selection range by 30 minutes

Week View

SHIFT+ UP

Decrease selection by 30 minutes as long as the minimum of 30 minutes is left.

Week View

ENTER or SPACE

Execute the Create Link given as plug-in attribute by the developer or fire Calendar Date Select event.

Week View

Escape

Leave Calendar Browsing and go back to Event Browsing.

Week View

Page Up or Page Down

Move to the next/previous month.

Day View

LEFT

Go to the previous day.

Day View

RIGHT

Go to the next day.

Day View

UP

Move selection 30 minutes back in time.

Day View

DOWN

Move selection 30 minutes forward.

Day View

SHIFT+ DOWN

Extend selection range by 30 minutes.

Day View

SHIFT+ UP

Decrease selection by 30 minutes as long as the minimum of 30 minutes is left.

Day View

ENTER or SPACE

Execute the Create Link given as plug-in attribute by the developer or fire Calendar Date Select event.

Day View

Escape

Leave Calendar Browsing and go back to Event Browsing.

Day View

Page Up or Page Down

Move to the next/previous day.

List View

Not Applicable

The list view has no special keyboard support. If an edit link is defined by the application developer, the Tab key can be used to navigate between the entries

2.4.4 Keyboard Shortcuts in Interactive Grid Regions

Interactive grid regions in Oracle Application Express come with many keyboard shortcuts and keyboard-specific features to help the keyboard-only, and power user. Specifically they are designed to provide all functionality that is available with the mouse, to be also available to keyboard users.

In addition, the grid containing the data provides two distinct modes of interaction: Navigation and Edit mode. Navigation mode is designed for use when the grid is not currently editable and allows fast and easy navigation around the grid using keyboard. Navigation mode is the default and the only mode if the interactive grid is not editable. Edit mode is designed for use when the grid is currently editable, and keyboard behavior differs slightly as described in the section that follows.

The following table lists available Oracle Application Express keyboard shortcuts in interactive grid regions. If the Mode states Any, the corresponding keyboard shortcut works in both Navigation and Edit modes.

Table 2-3 Oracle Application Express Keyboard Shortcuts in Interactive Grid Regions

Mode

Location

Keys

Description

Any

Note: In Edit mode though, Tab may have special meaning in certain situations, for example when moving between editable cells, as detailed below)

General

Tab or Shift+Tab

Move to the next or previous tab stop in the interactive grid region.

Note: The interactive grid region is comprised of multiple separate user interface elements, some of which, by design handle tab stops differently, depending on the element type and its expected keyboard semantics. For example the toolbar and pagination controls are implemented as separate tab stops whereas the grid view and icon view are implemented as a single tab stop where cursor key navigation is used to move around the view elements when the view has focus.

Any

Grid view, column header has focus

Enter or Space

Opens the column header menu, allowing quick actions on a specific column (for example filtering, aggregating, or hiding).

Any

Grid view, column header has focus

Windows: Ctrl+Left / Ctrl+Right

Mac: Ctrl+Cmd+Left / Ctrl+Cmd+Right

Increase, or decrease column width. Sets the Minimum Column Width report setting for that column.

Any

Grid view, column header has focus

Shift+Left / Shift+Right

Move column to the next or previous column position. Sets the display order for that column.

Any

Grid view, column header has focus

Alt+Up / Alt+Down

Shift+Alt+Up / Shift+Alt+Down

Sort ascending (up) or descending (down) on the current column. Use the shift key modifier to add to the existing search columns.

Any

Grid view, column header menu open

Tab or Shift+Tab

Move to next or previous tab stop in the column header menu. Focus is constrained in the menu widget, so tabbing on the last focusable element in the menu will loop focus back to the first focusable element.

Note: This is not currently implemented as a single tab stop, so Tab / Shift+Tab must be used to navigate in the menu.

Any

Grid view, column header menu open

Escape

Close the column header menu.

Any

Grid view, single row view, focus on column

ALT+F1

Show help for an item.

Note: Only shows help if help has been defined for that column.

Navigation

Grid view

Up/Down/Left/Right arrow keys

When focus is in the grid view, use the arrow cursor keys to move around the entire grid (including column headers). When a row is focused, the row will also automatically be selected.

Note: The grid view will remember its last focused cell, so if you Tab away, then later move focus back to the grid view, you will be taken back to the last focused cell.

Navigation

Grid view

Windows: Ctrl+Up / Ctrl+Down, Space, Ctrl+Space

Mac: Ctrl+Alt+Up /Ctrl+Alt+Down, Space, Ctrl+Alt+Space

Move without changing the selection. Use Space key to select or Ctrl+Space to toggle selection.

See Also: "About Configuring Interactive Grids to Support Multi-select"

Navigation

Grid view

Shift+Up / Shift+Down

Range select and de-select multiple rows.

See Also: "About Configuring Interactive Grids to Support Multi-select"

Navigation

Grid view

Page Up / Page Down

Move one page up or down in the current column.

Navigation

Grid view

Home / End

Move to first, or last cell in the current row.

Navigation

Grid view

Enter or F2

Switches from Navigation to Edit mode.

Note: Only works if the interactive grid is defined as editable. See "Making an Existing Interactive Grid Editable" in Oracle Application Express App Builder User’s Guide.

Navigation

Editable grid

Insert

Will add a row after the last selected row or if no row is selected before the first row.

Navigation

Editable grid

Delete

Deletes the selected rows.

Navigation

Icon view

Up/Down/Left/Right arrow keys

When focus is in the icon view, use the arrow cursor keys to move around the icons. When an icon is focused, its corresponding row is automatically selected.

Note: The icon view will remember its last focused icon, so if you Tab away, then later move focus back to the icon view, you will be taken back to the last focused icon.

Navigation

Icon view

Home / End

Move to first, or last icon.

Edit

Grid view

Tab or Shift+Tab

Row navigation. Move to the next, or previous cell on the same row, and automatically opens the edit control for that cell if applicable.

Note: When at the end of a row, Tab takes the user to the first cell in the next row.

Edit

Grid view

Enter or Shift+Enter

Column navigation. Move to the next, or previous cell in the same column, and automatically opens the edit control for that cell if applicable.

Note: If the edit control itself uses the Enter key (for example a text area), this shortcut will not work and the user will have Ctrl+F6 to close the popup without leaving edit mode then press Enter or Shift+Enter. Pressing Ctrl+F6 again will open the closed popup.

Edit

Grid view

Escape

Exits Edit mode, and goes back to Navigation mode.

Note: If the edit control itself uses the Escape key (for example a radio group that uses a popup control, where Escape key closes the popup), then Escape will need to pressed twice to first close the popup, then exit Edit mode.

2.4.5 About Configuring Interactive Grids to Support Multi-select

Interactive grids must be configured to support multi-select. When multi-select is enabled, users can use arrow keys to move around an entire grid, use the Space key to select, or use Ctrl+Space to toggle selections.

To configure an interactive grid to support multi-select:

- Editable interactive grid - Configure the APEX$ROW_SELECTOR column which is automatically created for you when you make an interactive grid editable. Under Settings, set the Enable Multi Select attribute to Yes (the default).

- Non-editable interactive grid - Use an advanced JavaScript configuration. To see an example, install the Sample Interactive Grids packaged application and see Multiple Selection example under Reporting.

See Also:

- "Making an Existing Interactive Grid Editable" in the Oracle Application Express App Builder User’s Guide

- "Installing a Packaged Application" in the Oracle Application Express App Builder User’s Guide

2.4.6 Accessing Interactive Report Regions

This section describes how to access common features within Interactive Report regions.

Topics:

- Searching Data in an Interactive Report

- Using the Actions Menu

- Managing Bulk Updates

- Utilizing Drill Down Links

- Editing Existing Filters

- Loading Saved Reports

2.4.6.1 Searching Data in an Interactive Report

If a search bar displays above an interactive report then the Include Search Bar attribute has been enabled in Report Attributes. This attribute is enabled by default when a new interactive report is created.

To execute a search:

1. Press TAB until the search field has focus.

2. Type your search keywords into the search field.

3. Press ENTER to invoke the search.

4. To refine your search to a specific column:

a. Press TAB to access the magnifying glass icon to the left of the search field.

b. Press ENTER to activate the pull down menu and display a list of all available columns to search.

c. Press the DOWN or UP arrow keys on your keyboard to navigate through the list of columns.

d. Press ENTER to select the column you want to search on. This sets the context of the subsequent search as specific to the column selected.

5. Repeat steps 1 and 2 to execute your column specific search.

2.4.6.2 Using the Actions Menu

By default, new interactive reports include both a search bar and Actions menu. Both of these features are controlled by the developer by enabling the Include Search Bar and Actions menu attributes on the Report Attributes page. Depending upon how the developer creates the report, the Action menu can contain different options.

To access the Actions menu using a keyboard:

1. Press TAB until the Actions menu has focus.

2. Press ENTER to open the menu.

3. Once the menu is open, you have the following navigation options:

- Press the DOWN arrow key to go down the menu.

- Press the UP arrow key to go up the menu.

- Press the RIGHT arrow key to open a submenu (indicated by a right arrow) and move focus to the first item in the submenu.

- Press the LEFT arrow key to close a submenu and move focus back to the appropriate item in the parent menu.

4. To exit the Action menu:

- Press ENTER to load the action specific dialog. Focus is set to the first focusable element within the dialog box.

- Press ESC to close the menu without selection.

See Also:

"About the Actions Menu" in the Oracle Application Express App Builder User’s Guide

2.4.6.3 Managing Bulk Updates

Some interactive reports in Oracle Application Express contain form items for applying bulk updates to components. All form items within the report and buttons to apply the changes are keyboard accessible. Also some pages feature a check box in the first row to perform bulk processing and corresponding Select All and Deselect All links below the report. All of these items are keyboard accessible.

2.4.6.4 Utilizing Drill Down Links

Some interactive reports in Oracle Application Express contain at least one link to edit or view a specific sub-components. These are all standard links and are therefore keyboard accessible.

2.4.6.5 Editing Existing Filters

When an existing search filter is applied to an interactive report, a search filter displays below the Search bar.

You can access the search filter using the keyboard to:

- Edit the search filter.
Press TAB to navigate to the search filter and then press ENTER to open the Filter dialog box. Focus is automatically set to first focusable element in the dialog box.

- Disable or enable the search filter.
Press TAB to navigate to the check box to the left of the filter and SPACEBAR to disable or enable the filter.

- Delete the search filter.
Press TAB to navigate to the search filter and then ENTER to open the Filter dialog box. Press TAB or SHIFT+TAB to navigate to the Delete button and then press ENTER.

2.4.6.6 Loading Saved Reports

If an Interactive Report includes a Search bar, Actions menu, and support for saved reports, then these options have been enabled by the developer on the Report Attributes page.

To load a saved report:

1. Press TAB until the Reports select list has focus. Note that the Reports select list only displays if there are saved reports.

2. Press the UP and DOWN keys to select the specific saved report you want to view.

3. Press ENTER to view the saved report.

See Also:

"Editing Interactive Reports" in the Oracle Application Express App Builder User’s Guide

3 Developing Accessible Apps

This section provides guidelines for creating an accessible app with Oracle Application Express.

Topics:

- Developing Accessible Themes
Themes are collections of templates that enable you to define the layout and style of an entire application. Oracle Application Express apps use Universal Theme by default.

- Developing Accessible Pages
Enable easy navigation of your app for users of assistive technology by properly configuring some common attributes of all your pages, such as the title, page mode, cursor focus, and reload on submit.

- Developing Accessible Regions
Ensure the regions on a page provide sufficient navigational information for users of assistive technology.

- Developing Accessible Form Pages and Items
Ensure that your form pages and items provide sufficient information to users of assistive technology.

- Developing Accessible Buttons
Buttons in Universal Theme offer great display flexibility while supporting accessibility.

3.1 Developing Accessible Themes

Themes are collections of templates that enable you to define the layout and style of an entire application. Oracle Application Express apps use Universal Theme by default.

Important:

Oracle recommends using Universal Theme for creating accessible apps.

This guide is written for use with the Universal Theme. This guide does not support customized themes directly. While some discussion applies generally to all apps, many discussions are specific to Universal Theme.

Topics:

- About Accessibility Features in Universal Theme

- About Accessible Theme Styles

- About Theme Roller

3.1.1 About Accessibility Features in Universal Theme

Universal Theme (also called Theme 42 or sometimes abbreviated as UT) was first introduced in Oracle Application Express 5.0 to improve out of the box usability and accessibility for Application Express apps.

While you can create and use your own fully accessible custom themes in Oracle Application Express, this guide only provides instructions for apps using Universal Theme.

Oracle strongly recommends migrating from older themes to Universal Theme. See the Universal Theme migration guide for further assistance.

3.1.2 About Accessible Theme Styles

Theme styles enable you to change the look and feel of an app without switching to an entirely different theme.

Oracle recommends using the default Oracle Application Express theme style Vita for best accessibility.

You can mark theme styles in Oracle Application Express as accessibility tested. Because the underlying CSS of a theme style affects the overall accessibility of an app, you can mark a theme style as accessibility tested if you are confident that it meets the appropriate accessibility standards that you or your organization must adhere to. The Vita theme style is accessibility tested.

3.1.3 About Theme Roller

Theme Roller is a developer tool in the application runtime for analyzing and declaratively adjusting the style settings of Universal Theme without needing to know the underlying CSS.

Some color combinations cause accessibility issues due to a lack of contrast. To help prevent this, Theme Roller has automatic color contrast checking that analyzes your app’s compliance with WCAG 2.0 contrast standards. Theme Roller notifies you if a setting passes or fails this contrast check.

A check mark appears next to color combinations for settings to indicate that the color contrast defined meets the minimum required ratio. You can also mouse over the check mark, and a small dialog displays showing the exact contrast ratio, and to what WCAG 2.0 conformance level this achieves (either AA or AAA).

To learn more about minimum color contrast, see WCAG 2.0 Understanding 1.4.3 Color Contrast.

Note:

While Theme Roller is a powerful tool for assessing the accessibility of your app, unfortunately Theme Roller itself is not fully accessible. A more accessible version of Theme Roller is planned for a future release.

3.2 Developing Accessible Pages

Enable easy navigation of your app for users of assistive technology by properly configuring some common attributes of all your pages, such as the title, page mode, cursor focus, and reload on submit.

Topics:

- Accessible Page Titles

- Accessible Page Modes

- Accessible Cursor Focus

- Accessible Reload on Submit

See Also:

- "Right Pane of Page Designer (Property Editor)" in the Oracle Application Express App Builder User’s Guide

- "Accessing Property Editor" in the Oracle Application Express App Builder User’s Guide

3.2.1 Accessible Page Titles

A good page title helps users of assistive technology understand the purpose of the page. Since the page title is usually the first thing a user of a screen reader hears when loading the page, every page title should be meaningful and unique.

Consider the following example. The title of a Form page should include some information about the record the user is currently editing, such as "Create / Edit Customer: [customer name]." In Page Designer, select the page in the Rendering tree and do the following in the Property Editor:

- To replace P1_CUSTOMER_NAME with the page item containing the item that best identifies the current record, in the Identification – Title field enter Create / Edit Customer: &P1_CUSTOMER_NAME. (ensure you include the period).

- Form pages have a Fetch Row process that fetches the row in the Execution Options. By default, this is set to fire after the page header (After Header). Change this to fire Before Header. (See "Controlling When a Page Process Executes in Page Designer" in the Oracle Application Express App Builder User’s Guide.)

Tip:

You can review and update all page titles in an app with the Grid Edit of all Pages tool. You should review all titles for accuracy and meaning, especially different pages with the same title and null page titles.

See Also:

"Accessing Cross Page Utilities" in the Oracle Application Express App Builder User’s Guide

3.2.2 Accessible Page Modes

Oracle Application Express supports multiple page mode types:

- Normal

- Modal Dialog

- Non-Modal Dialog

All of these page types can be used and are coded to the accessibility standards.

For example, modal dialog pages follow guidelines for pages including constraining keyboard focus inside of the dialog and ensuring screen reader users only hear information about the current modal dialog page (and not the base page where the modal dialog page was launched).

3.2.3 Accessible Cursor Focus

The Navigation – Cursor Focus attribute specifies where the cursor appears for the user on page load. You can select from the following options:

- Do not focus cursor

- First item on page

Select Do not focus cursor to focus on nothing on page load.

Select First item on page to focus the cursor in the first field on the page on page load.

Oracle recommends setting your cursor focus to First item on page wherever your users want it most of the time, such as in a wizard that has multiple pages with multiple options on each page. Ensure that your First item on page design does not misplace important information that users could miss.

3.2.4 Accessible Reload on Submit

This attribute controls how errors display on the page. You can select from the following options:

- Always

- Only for Success

Oracle recommends using Only for Success. When Only for Success is selected, Oracle Application Express renders errors on the client-side without reloading the entire page. This option is faster for all users, and if there are errors, screen reader users are immediately notified and read the error information because the error notification is using the ARIA role of alert.

Note:

Tabular form regions can only be set to Always. You cannot use this client-side error display on tabular form pages.

See Also:

Dealing with Validation Errors

3.3 Developing Accessible Regions

Ensure the regions on a page provide sufficient navigational information for users of assistive technology.

Topics:

- Accessible Page Structure

- Accessible Interactive Grid Regions

- Accessible Interactive Report Regions

- Accessible Classic Report Regions

- Accessible Tabular Forms Regions

- Accessible JET Chart Regions

3.3.1 Accessible Page Structure

Users of assistive technology require a clearly defined structure on every page. After a page loads, screen reader users review all of the heading elements on the page. Correctly defined headings orientate your users by providing a structural overview of the page. You should nest page headings so that there is one H1 on a page to uniquely identify the page contents, then nest H2s, H3s, and so forth accordingly.

You achieve this structure with regions in Oracle Application Express. Follow one or more of the following guidances as best practices for structuring pages in your app.

H1 Headings

Include a breadcrumb region on your pages to create a unique H1. You can use the Create Application Wizard to generate breadcrumbs automatically based on the hierarchy of pages defined in the wizard, or you can configure the breadcrumbs in your app manually. By default, the last breadcrumb entry on a page is the H1.

Alternatively, use the Hero region template in Universal Theme. This region template renders the region title as the H1 text on the page by default, which is useful if your current app layout and design does not warrant breadcrumbs.

Tip:

Only use one Hero region per page to avoid creating more than one H1 element.

H2 Headings

After the H1, most region templates in Universal Theme render other content on the page with an H2 around the region title

H2s are appropriate for non-nested regions on a page, such as the following example heading structure:

H1: Charts
H2: region 1
H2: region 2
H2: region 3
H2: region 4
This semantic structure helps all users scan the current page, both visually using the eyes and audibly using a screen reader.

H3 and Other Sub-Region Headings

Universal Theme does not automatically support headings beyond H2, such as when you have sub-regions nested within an H2 region.

By default, Application Express applies H2s to nested sub-regions (regions 4.1 and 4.2 in the above example) in the Standard region template. This creates an accessibility problem because screen reader users may incorrectly believe that these sub-regions are of similar importance to the parent region or that the regions are not ancestral to the parent region.

H1: Charts
H2: region 1
H2: region 2
H2: region 3
H2: region 4
H2: region 4.1
H2: region 4.2

To properly structure these sub-regions, you must duplicate the Standard region template, then use the Code Editor to manually replace the H2 tags with H3s in the template’s definition.

Tip:

To copy a region, see "Creating a New Template" in the Oracle Application Express App Builder User’s Guide and select the As a Copy of an Existing Template option.

Changing the sub-regions to H3s only affects the structure of the element (not the style), which is what we want for accessibility.

This results in the following heading structure:

H1: Charts
H2: region 1
H2: region 2
H2: region 3
H2: region 4
H3: region 4.1
H3: region 4.2

Important:

Be aware of the following issues when copying the Standard region template:

- While a copied template keeps the theme subscription (which enables you to refresh the theme when Oracle Application Express is upgraded), the copied template does not upgrade automatically on refresh. You may need to manually change or re-copy the template post-refresh if there are any markup changes in that template.

- You must manually add an additional template for every deeper heading level in your app (H3, H4, H5...). We plan to make it easier to control the heading level without requiring an additional template in a future Oracle Application Express release.

Region Titles

You should define meaningful titles for most region types because Universal Theme uses the region title as the heading text for the region.

Descriptive titles are essential for accessibility. By default, titles are visible on screen. However, sometimes you may not want a title for a region, such as when sighted users can quickly discern the region’s content from surrounding page content at a glance. In such cases, you must still provide heading text for screen reader users. To make such a page accessible, select the region, in Property Editor open the Template Options, and set the Header attribute to Hidden but accessible.

Tip:

You can review and update all region titles in an app with the Grid Edit of all Region Titles page. You should review all titles for accuracy and meaning, especially regions with the same title on the same page which may be an issue depending on the context.

See Also:

"Accessing Page Specific Utilities" in the Oracle Application Express App Builder User’s Guide

3.3.2 Accessible Interactive Grid Regions

Introduced in Oracle Application Express 5.1, interactive grids combine powerful reporting with grid-based editing in a single component. Users can access all interactive grid functionality with just a keyboard, enabling all users to navigate around the grid and edit their data using the keyboard. For a complete list of keyboard support in interactive grids, see Keyboard Shortcuts in Interactive Grid Regions.

Interactive grids do contain some accessibility bugs affecting screen reader users. All bugs are listed in the current VPATs for Oracle Database related products.

For better screen reader support for multi-row editing, Oracle recommends using a tabular form region instead of an interactive grid.

3.3.3 Accessible Interactive Report Regions

Data Table Accessible Label

You must enable screen reader mode to ensure the underlying data table rendered by interactive reports has an accessible label. Once enabled, Oracle Application Express generates the following SUMMARY text for the rendered data table:

Region = [region title], Report = [current saved report name], View = [current View], Displayed Rows Start = [current start of rows displayed, Displayed Rows End = [current end of rows displayed], Total Rows = [total number of rows]

This text identifies the data table, and therefore provides a great deal of contextual information to users of assistive technology.

Edit Icon Link Text

When creating a Report and Form, Oracle Application Express generates the links between the two pages to allow you to edit specific records. The link text generated for all rows is Edit by default. You should make this text a meaningful label so that screen reader users (who listen to all the links on the current page) can understand the purpose of the link and where it takes them. The link text should be specific to the current row in the report. For example, for a report of customers, the link text could be Edit Customer: SMITH.

You can define the link text of an interactive report region by selecting the Attributes node, then in the Property Editor expand the Link column, set Link Column to Link to Single Row View or Link to Custom Target, and update the alt text in the Link Icon field.

Because there is no visible link text used, the link uses the inline image’s alt text as the text for the link. Note that you can use a substitution string such as #CUSTOMER_NAME# to target the column that best identifies the current row.

See Also:

"Editing Interactive Report Attributes" in the Oracle Application Express App Builder User’s Guide

3.3.4 Accessible Classic Report Regions

Data Table

By default, Oracle Application Express generates SUMMARY text equal to the region title. This identifies the data table to users of assistive technology.

Note:

Unlike interactive reports, classic reports do not provide any additional information about the report state. This may limit your app’s functionality.

Edit Link Text

When creating a Report and Form, Oracle Application Express generates the links between the two pages to allow you to edit specific records. The link text generated for all rows is Edit by default. You should make this text a meaningful label so that screen reader users (who listen to all the links on the current page) can understand the purpose of the link and where it takes them. The link text should be specific to the current row in the report. For example, for a report of customers, the link text could be Edit Customer: SMITH

You can define the link text of an interactive report region by selecting the Attributes node, then in the Property Editor expand the Link column, set Link Column to Link to Single Row View or Link to Custom Target, and update the alt text in the Link Icon field.

Because there is no visible link text used, the link uses the inline image’s alt text as the text for the link. Note that you can use a substitution string such as #ENAME# to target the column that best identifies the current row.

Note:

Although classic report regions support column headers in the report, currently Oracle Application Express does not support the ability to define a row header column in the report. Row headers are important for accessibility of data tables because screen readers announce the row header when navigating to a new row in the report (in the above example, that would be the ENAME value). See the VPAT for more details and the related bug number.

3.3.5 Accessible Tabular Forms Regions

Tabular forms provide simple multi-row editing capability in your apps.

Data Table

By default, Oracle Application Express generates SUMMARY text equal to the region title. This identifies the data table to users of assistive technology.

Use as Row Header

Specify if a column should be used as the heading for the row. Including the column value can greatly improve accessibility for form fields rendered in the tabular form. When specified, Oracle Application Express uses the Row Header together with the Column Header to render unique labels for the form fields in the report in the following format: <Column Header> : <Row Header>

For example, you define the ENAME column as the Row Header for a report on the EMP table. For a row where ENAME is "'JONES," the label for the Salary field in that row would be Salary : JONES. This approach enables a screen reader user to navigate by the form fields in the report and still understand which form fields relate to which row.

3.3.6 Accessible JET Chart Regions

Oracle Application Express 5.1 introduced charts based on the Oracle JET Data Visualization components (JET charts). Releases prior to 5.1 used charts based on AnyChart, where there were many accessibility issues.

For more information about accessibility of Oracle JET Data Visualization components including support for keyboard and touch, see the Oracle JET documentation.

The following sections detail some chart settings that are particularly useful for ensuring chart accessibility.

Chart Title

The chart title displays in the chart region next to the chart. It is also the accessible label for the chart page section. In Page Designer, the chart title is defined in the chart Attributes node.

If there is only one chart displayed within a region, consider hiding the region title to avoid visual duplication. You can hide the region title by changing the Header region appearance setting in the Template Options dialog to Hidden but accessible. This removes the region title from the page but preserves the heading for assistive technologies (if users scan the current headings on the page to orientate themselves, they can perceive this title).

Tooltip

The tooltip displays when the mouse hovers over a specific chart section or the keyboard has focus on this section. In addition, the tooltip is the accessible label for that section of the chart. For example, when screen reader users navigate around the chart sections, this tooltip is announced.

To display the tooltip, select the chart Attributes node in the Rendering tree; in the Property Editor, set the Show field to Yes; and finally, select what information to include in the tooltip. You can define this in two ways:

- Adjust the other attributes displayed in the Tooltip group in Page Designer. This allows you to control display of Series Name, Group Name, Value, and Label information where applicable for your chart. For example, if the chart only has one series, then you may want to exclude the series name in the tooltip, so you would set Show Series Name to No.

- For a highly customized tooltip, set a column in your database table to be used as the source for the tooltip. You can configure this on the individual Series node nested under the chart in the Rendering tree.

3.4 Developing Accessible Form Pages and Items

Ensure that your form pages and items provide sufficient information to users of assistive technology.

Note:
The following overview is not a comprehensive list of all item types in Oracle Application Express. This section only cites items that have specific settings or issues related to accessibility.

Topics:

- Accessible Form Page Attributes

- Accessible Date Pickers

- Accessible Select Lists and Radio Groups

- Accessible Check Boxes

- Accessible Display Image Alternative Text

3.4.1 Accessible Form Page Attributes

Item Labels

Define meaningful labels for all items. Users of assistive technology require meaningful labels to understand and interact with a field.

Tip:

You can review and update all item in an app with the Grid Edit of all Item Labels page. You should review all labels for accuracy and meaning, especially items with null labels and items with the same label on the same page.

See Also:

"Viewing Item Utilities" in the Oracle Application Express App Builder User’s Guide

Value Placeholder

Oracle recommends against using just a value placeholder as the only label for an item because it is insufficient for accessibility.

To hide a visible label from display for design reasons, Oracle recommends using a Hidden label template in conjunction with a label.

Item Templates

Universal Theme includes the following item templates to control how the label renders for the item:

Hidden

Hides the label from display but preserves it in the markup for use by assistive technologies.

Use this template to preserve accessibility rather than not providing a label.

Optional / Optional - Above

Labels the field optional without any further decoration.

Required / Required - Above

Labels the field required and displays an asterisk adjacent to the label.

For accessibility, Oracle Application Express ignores the asterisk and appends hidden text "Value Required" to the label. Assistive technology announces this label as "Label (Value Required)" so that the user can immediately tell if the field is required.

Additionally, Oracle Application Express adds "Value Required" to the end of the label rather than the beginning, so that screen readers users can still search for a specific field by label name.

Value Required

Oracle does not recommend use of the Value Required attribute for accessibility purposes. If the Value Required attribute is set to Yes and the item’s label template is Required, Application Express duplicates reporting of the required state to Assistive Technologies (see the VPAT to learn more).

If you have a simple required field, use a Not Null style validation on the page item.

See Also:

"Creating a Validation for a Page Item" in the Oracle Application Express App Builder User’s Guide

See Also:

- Understanding Screen Reader Mode

- Dealing with Validation Errors

3.4.2 Accessible Date Pickers

Date pickers are not accessible by default, but you can help users to more easily enter a date manually. For example, Oracle recommends configuring date picker items to display a sample date to indicate the input format. You can include this sample information in the label, such as in the following example:

See Also:

Date Picker in the "Available Item Types" appendix in the Oracle Application Express App Builder User’s Guide

3.4.3 Accessible Select Lists and Radio Groups

You can define select lists and radio groups to redirect or submit the page when the value of the control changes in the Page Action on Selection attribute. However, this behavior disrupts users of assistive technology, who do not expect a page reload and lose context. Instead, use dynamic actions or cascading LOVs to achieve similar functionality.

Consider the following example. You have a select list on a page to filter a report region. You submit the page with this attribute in order to update the report to show the filtered results. Instead, use a Dynamic Action on "change" of the select list, and then define an action to refresh the report region.

For further examples, see the Sample Dynamic Action app in Packaged Applications.

See Also:

"Utilizing Packaged Applications" in the Oracle Application Express App Builder User’s Guide

3.4.4 Accessible Check Boxes

While the check box item type offers support for accessibility for groups of check boxes, Oracle recommends using the Simple Checkbox plug-in when you require only one check box. This plug-in offers cleaner markup and better accessibility for these single value check box use cases.

See Also:

Oracle Application Express Plug-Ins

3.4.5 Accessible Display Image Alternative Text

The display image item type enables you to display alternative text with an image on a form page, which is essential to users of assistive technology.

Alternative text settings for the display image item type relevant to accessibility include:

Alternative Text Column

Displayed when Based On is set to BLOB Column Specified in Item Source

Defines the column that stores the alternative text for the image.

Alternative Text

Displayed when Based On is set to Image URL stored in Page Item Value

Defines alternative text to describe the image. This can also be dynamic by using substitution syntax, such as &P1_ALT_TEXT. (ensure you include the period)

3.5 Developing Accessible Buttons

Buttons in Universal Theme offer great display flexibility while supporting accessibility.

Label

The label is crucial for button accessibility. Assistive technologies such as screen readers announce the button label, and users with speech recognition software can speak the name of the label to activate the button. Ensure your button labels are clear, unique, and meaningful.

Button Template

Buttons can be based on the following templates:

- Icon

- Text

- Text with Icon

All of these are accessible. Labels for icon-based buttons are hidden from display, but they still exist in the markup for screen readers.

Template Options

Be aware that in the Template Options dialog, the Type option changes the button design in ways that can affect accessibility. For example, the Danger type colors the button background red and the foreground text white. Conveying information by color alone is an accessibility issue, so only use the Type template options with this potential problem in mind. For example, the Danger type can still be accessible if the button text clearly indicates the purpose of the button (as opposed to only an exclamation point).

Tip:

You can review and update all item in an app with the Grid Edit of all Button Labels page. You should review all labels for accuracy and meaning, especially items with the same label on the same page.

See Also:

"Accessing Page Specific Utilities" in the Oracle Application Express App Builder User’s Guide

4 Open Bugs and Known Issues

Review known issues in Oracle Application Express in the following documents.

VPAT

VPATs for Oracle Database related products — VPAT for Oracle Application Express. Click the link, then find the relevant version of Application Express.

Lists most severe bugs with their corresponding bug number. Bugs are categorized as one of the following:

- Affecting the Development Environment

- Affecting Websheet Applications

- Affecting Database Applications

- Affecting Documentation

For issues that affect apps you build in Oracle Application Express, refer to the Affecting Database Applications category.

Release Notes

"Accessibility Issues" in the Oracle Application Express Release Notes lists less severe issues with corresponding bug number, usually where something can be worked around or where the impact is minimal.

5 Further Reading

Additional resources for the assessment and enhancement of accessibility in Oracle Application Express apps include the following documents.

- Oracle Accessibility Program - General information about accessibility at Oracle.

- VPATs for Oracle Database related products - The most recently published VPATs (Oracle Voluntary Product Accessibility Template) for Oracle products. Oracle Application Express has published multiple VPATs.

- Plug-ins for Application Express - Plug-ins developed by the Application Express team for use in your apps, such as the Simple Checkbox plug-in for an accessible single-option check box.

- Universal Theme Sample App - Sample app hosted on apex.oracle.com with information about Universal Theme, including a Migration Guide to move from older themes.

- Understanding WCAG 2.0 - A guide to understanding and implementing web apps to the WCAG 2.0 set of guidelines.

Index

A  B  C  D  F  H  I  J  K  O  P  R  S  T  U  V  W

A

- about high contrast mode 2.2

- accessibility

- about 2

- screen reader mode 2.1

- WAI-ARIA support 2.3.3.4

- Accessibility Mode list

- Screen Reader 2.1.2

- accessing components with keyboard 2.4

- alternative text 3.4.5

- application pages 3.2

B

- buttons 3.5

C

- charts 3.3.6

- check boxes 3.4.4

- classic reports 3.3.4

- components

- accessing with keyboard 2.4

- cursor focus 3.2

D

- date pickers 3.4.2

- display image 3.4.5

- dynamic actions 3.4.3

F

- form pages 3.4.1

- forms

- accessing using JAWS 2.3

H

- headings 3.3.1

- Help text

- accessing with JAWS 2.3.2

- high contrast mode 2.2

- about 2.2.1

- enabling 2.2.2

I

- interactive grids 3.3.2

- interactive reports 3.3.3

J

- JAWS 2

- about validation errors 2.3.3

- accessing forms 2.3

- accessing Help text 2.3.2

K

- keyboard shortcuts 2.4.2

- CSS Calendar 2.4.3

- Interactive Grid Regions 2.4.4

O

- Oracle Application Express

- keyboard shortcuts 2.4.2, 2.4.3, 2.4.4

P

- page modes 3.2

- pages 3.2

R

- radio groups 3.4.3

- regions 3.3.1

- region titles 3.3.1

- reload on submit 3.2

S

- screen reader mode 2.1

- about 2.1.1

- enabling 2.1.2

- select lists 3.4.3

T

- tabular forms 3.3.5

- Theme 42 3.1.1

- Theme Roller 3.1.3

- theme styles 3.1.2

U

- Universal Theme 3.1.1

- UT 3.1.1

V

- validation errors, running JAWS 2.3.3

W

- WAI-ARIA support 2.3.3.4

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.