Navigation with the keyboard and screen reader have to both work properly at the same time. In order for this to happen, you need to use the correct ARIA attributes and to map them to their HTML counterparts.
The ARIA role=application is added to the body of each page by OpenUI5 Core to ensure that the page can be properly navigated using the keyboard. It this is not the case, the OpenUI5 JavaScript key handler code may get overridden by the screen reader and this will hinder keyboard handling.
HTML Attribute |
ARIA Attribute |
---|---|
editable |
aria-readonly |
enabled |
aria-disabled |
visible |
aria-hidden |
required |
aria-required |
checked |
aria-checked |
selected |
aria-selected |
For custom controls, not part of the ARIA 1.0 role definitions, mapping to similar and existing ARIA base role concepts is applied. In special cases, custom role names can be added by the OpenUI5 framework using aria-describedby or aria-labelledby references.
• ariaLabelledBy - holds a reference to the control that has the aria-labelledby attribute set
• ariaDescribedBy - holds a reference to the control that has the aria-describedby attribute set
These associations have the following structure:
ariaLabelledBy : { type : "sap.ui.core.Control", multiple : true, singularName : "ariaLabelledBy" }
ariaDescribedBy : { type : "sap.ui.core.Control", multiple : true, singularName : "ariaDescribedBy" }