Software should suit whatever real-life situation a person finds themselves in. For example, imagine that a person permanently or temporarily has use of only one arm. They should still be able to use the software. Ideally, it should still be easy.
A person should know how they can interact with the software in front of them. This includes taking action, as well as moving around the software (navigation) to find other actions or information.
Just because a person knows how to interact with something, does not mean it is easy to do so. So, it should be.
The different interactive elements should, whenever possible, allow interaction with different methods. Both hardware and software. For example, a person should be able to use either a mouse or a keyboard to select something.