Pregunta

En general, las interfaces modales chupan rocas grandes. Por otro lado, no puedo pensar en una mejor manera de manejar File Open ... , o Print ... y esto, creo, es porque

  • son acciones ocasionales, infrecuentes y trascendentales, y
  • son de naturaleza atómica; ya sea que termine de especificar todas sus opciones de impresión y lo complete, o cancela todo el programa.

Vamos a armar una pequeña guía de estilo. Sugiera cualquier caso de uso en el que un diálogo sea la presentación preferida y por qué se prefiere. ¿Puede el diálogo ser no modal? Si es así, ¿cómo se marcan los límites transaccionales, ya que Cancelar deja de tener un significado claro? ¿Utiliza un botón Aplicar, por ejemplo?

¿Fue útil?

Solución

OMI, las interfaces modales solo se deben usar cuando HAVE para lidiar con lo que esté haciendo el diálogo o preguntando antes de que la aplicación pueda continuar. En cualquier otro momento, si está utilizando un diálogo, debería ser no modal.

Otros consejos

Al hacer ventanas no modales, es posible que desee asegurarse de que sean únicas: realmente no desea dos cajas de herramientas idénticas (en un programa gráfico, por ejemplo) o dos cuadros de diálogo de preferencias idénticas (vi esto en un producto), lo que puede ser confuso en el mejor de los casos.

Por otra parte, aprecio que el cuadro de diálogo Buscar / Reemplazar no sea modal: puedo volver al documento y cancelar el último cambio, omitir en otro lugar, etc .; sin perder la configuración actual.

De alguna manera, los diálogos modales le dicen al usuario que "deje todo lo demás y termine lo que está haciendo", que tiene sus usos, como se indica en la respuesta de Stephen Wrighton .

En mi experiencia, hay muy pocas cosas que deberían ser modales en una interfaz de usuario. Uno de los mejores ejemplos de esto, y probablemente uno muy familiar para los usuarios del sitio, es Eclipse. Aunque tiene algunos diálogos modales, y estoy hablando solo del IDE central aquí, en gran medida se dividen en tres categorías: operaciones de archivos, diálogos de preferencias y diálogos de parámetros.

Los diálogos de preferencias, aunque modales por tradición, tampoco necesitan ser modales. Todo lo que tiene que hacer es mirar el modelo de preferencias de Mac OS, donde los cambios de configuración tienen lugar inmediatamente, con un comportamiento modal introducido solo en los casos en que el cambio puede ser perjudicial para el trabajo en curso.

En resumen, esto es lo que diría que es un buen resumen de lo que debería ser modal. Las excepciones a este conjunto deben estar bien justificadas por el uso.

  • Diálogos de entrada de parámetros (ejemplo: asistentes de refactorización. anti-ejemplo: diálogos de búsqueda)
  • Operaciones de archivo
  • Confirmación de una acción que tendrá un efecto disruptivo inmediato

En cuanto a la ventana de inicio de sesión de un usuario, no puedes (o no debes) usar el resto de una aplicación hasta que hayas iniciado sesión, asumiendo que la seguridad es necesaria.

Creo que la distinción es que si hay algo en absoluto que un usuario pueda hacer en la aplicación mientras se muestra el cuadro de diálogo, entonces no debería ser modal. Esto incluye copiar / pegar acciones. Personalmente, preferiría que los cuadros de diálogo de abrir / abrir e imprimir no fueran modales tampoco. Creo que los diálogos modales son una señal de diseño débil, un mal necesario para que el código salga rápido de la puerta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top