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 APEX. This section only cites items that have specific settings or issues related to accessibility.
4.4.1 Accessible Form Page Attributes
Define meaningful labels for all items. Users of assistive technology require meaningful labels to understand and interact with a field.
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.
Viewing Item Utilities in Oracle APEX App Builder User’s Guide
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.
Universal Theme includes the following item templates to control how the label renders for the item:
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 APEX 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 APEX 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.
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, APEX 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.
4.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:
Available Item Types, "Date Picker" in Oracle APEX App Builder User’s Guide
4.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.
4.4.4 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)