Interactive States
These are the most common states for web buttons, links, etc. but your UI can have more or less states depending on the function of a specific element.
- You should specify whenever there are transitions between elements, based on user interaction. If necessary, link an animation library with the behavior you are envisioning.
- If the UI is taking too long to render or is waiting for a slow server action to move forward, a loading state should be considerate to inform the user that the system has not frozen.
Interaction Type
Check if the current interaction type is the best suitable for the element in case. * E.g. E.g. Sometimes a hover can be more convenient than a click to open.
- Good for grouping content into horizontal lists and reducing vertical space. The optimal interaction for these lists and carousels is different on mobile (swipe) and desktop (click). Make sure you have the necessary visual affordances for each one (E.g., arrows on desktop, dots on mobile).
Placeholders
- Beware: Placeholders should not replace labels, only give users further understanding about that field.
Error states & Warnings
There are a lot of possible error states & matching warnings for unexpected or prohibited behaviors. Below are the most common ones:
- E.g., Date fields that can't be in the future, Text that can't contain symbols, etc.
- E.g., Wrong file type, File too large, etc.
- E.g., Internet connection problems, Problems on the server side, etc.
- Always make clear what is the problem, and give the user instructions on how to solve it. If it's a forgotten password, provide a recovery link. If it's a server problem, inform an expected solving time for the user to wait or a way to contact the support team.