Cuando se diseña una aplicación de interfaz gráfica, el elemento básico es el diálogo o ventana. El diálogo es un área visual que contiene los elementos de interfaz de usuario, tales como menús, botones, listas, etc. mostrando la aplicación y permitiendo la entrada de datos.
Los diálogos se representan casi siempre como objetos de dos dimensiones colocados en el escritorio. La mayoría de ellos pueden ser redimensionados, movidos, ocultados, restaurados, etc.
Existen dos modalidades de diseñar diálogos. La modalidad se refiere a la forma de mantener el foco que va a tener el diálogo con respecto a los demás diálogos.
Un diálogo será no modal, si una vez que se encuentra activo permite alternar el foco a cualquier otro diálogo que se encuentre abierto en el sistema o dentro de la propia aplicación. Normalmente, la mayoría de los diálogos son de este tipo. Dentro de los diálogos modales nos podemos encontrar los modales respecto a una aplicación o los modales respecto al sistema.
Los modales respecto a una aplicación permiten alternar el foco a otros diálogos del sistema, pero no al diálogo que le da origen (diálogo padre) hasta que se produzca una determinada acción sobre ella. Típicamente, son diálogos modales de aplicación, los que se implementan para confirmar una acción del usuario.
Un diálogo modal respecto al sistema no va ceder el foco a ninguna otra aplicación hasta que se produzca una determinada acción sobre él. No suelen ser muy habituales, salvo para cuando se quiere gestionar un evento a nivel de sistema, que requiera la atención inmediata del usuario. Un ejemplo podría ser un diálogo que permita apagar el equipo.