Global User Acceptance Criteria - IntegratedBreedingPlatform/Documentation GitHub Wiki
User Interface Design
always enable vertical/horizontal scroll bars on user interface views in which its content is expected to exceed the said ui view
buttons must always be visible to users, and we must consider users with small screens; center buttons below forms to ensure they are always accessible
always set a distinction for required fields; this should be done in a consistent way on all screens
always put a progress indicator for long processes
for tables which allow selection, checkboxes will be placed in the leftmost column, with a 'select all' option at the bottom of the table; there will also be a checkbox in the column heading that will have the function of selecting all entries
always page results and table views that are expected to have a big number of output/records
disable/hide user interface components which are not needed for specific processes within the same view
Use contrasting colors for the text and background so that the form can be easily read and understood.
Validation
trim string entry points/text fields
invalidate character input for fields which requires numeric input
always have proper validations when handling: nulls, empty string, spaces, special characters
make sure proper input length limits are set. If input is saved in a database, the maximum length allowed for a user interface input field should be as long as its counterpart table field in a specific table of the database.
apply custom validation based on valid/realistic requirements
generic error messages are ok for edge cases.
Supported Platforms/Restrictions
support for Internet Explorer 8 above, Firefox and Chrome (we should define what versions as well)
user interface implementation should look presentable at 1024x768 and above
Exception Handling
exceptions caught should always be seen in log files
exception/error messages that is shown to the common user should be easy to understand
should always check if null is returned, especially for chained method invocations.
General Best Practices
set defaults if able
for very simple processes, they should complete within 1-3 seconds (web page)
for wizard-style ui, make sure the selections and input of the users for each step are cached by default
Make sure that the system communicates what’s happening, simply notify users after an operation succeeds or fails.
Ensure that the values displayed in the drop down list are descriptive.
Consistent Navigation
Hints and Quick Guides
Standardize, standardize and standardize (Reuse, Reuse, Reuse)
Use keyboard shortcuts if appropriate. e.g. Enter key for search ui buttons.