Interaction design patterns are design patterns applied in the context human–computer interaction, describing common designs for graphical user interfaces.
A design pattern is a formal way of documenting a solution to a common design problem. The idea was introduced by the architect Christopher Alexander for use in urban planning and building architecture and has been adapted for various other disciplines, including teaching and pedagogy, development organization and process, and software architecture and design.[1]
Thus, interaction design patterns are a way to describe solutions to common usability or accessibility problems in a specific context.[2] They document interaction models that make it easier for users to understand an interface and accomplish their tasks.[3]