Accessibility Rules
- The top level of a page should be the ROOTUIELEMENTCONTAINER.
- Each visible group of UI elements should be put in a Transparent Container. If the Transparent Container does NOT contain a Section Header, its "isLayoutContainer" must be set to TRUE. If instead a Section Header will be given to this group, it should be done as follows:
- Add a Section Header UI Element inside the Transparent Container. The Section Header's "Level" property should be set to "header4","header5", or "header6". Select the Transparent Container's property "LabeledBy" to be the ID of the Section Header. If a Transparent Container is labeled by a Section Header the property "isLayoutContainer" must be set to false.
- All input fields must be given a "Label" and set the LabelFor property to the ID of the associated input.
- All labels must be associated with a UI Element by setting the property "LabelFor."
- Always create column headers for every visible column in a table.
- All images that do NOT convey important information, such as horizontal rules, spacers, must have their "isDecorative" property set to True.
- All images that DO convey important information must have short descriptive text in the ToolTip property.
- Tooltips should never repeat Label text, they should only be used to add more information. See guidelines for tooltips
- Never nest tables, for instance, never set a table popin's content to be another table.
- Never nest trays, groups, or tabs, or other grouping containers, except Transparent Containers.
- Periodically run the the automated "complete object" check as part of your development process to find and fix accessibility problems.
- Melting Group pattern: use to remove input hints from the tab chain (see ZV_TEST, View V_CREATE_POS). ADD PICTURE.
Unit Testing Procedures
- Check tab chain (explain).
Usability Rules
- Trays are strongly discouraged because they can confuse users. Programmatically hide elements instead.