Product Craft Bible
Settings & Preferences
Inicio SaaS y Admin Settings & Preferences
SaaS y Admin

Settings & Preferences

12 reglas Material Design 3 / Android Settings Design GuidelinesAndroid Settings Design Guidelines / Material Design 1 Settings PatternGitHub Primer Design System - Saving PatternSmashing Magazine - Dangerous Actions in User Interfaces (2024) / Cloudscape Design System
166

Settings & Preferences

12 reglas
1438

Switches para booleanos, checkboxes para confirmacion con Save

Los switches (toggles) son el control correcto para ajustes on/off que toman efecto inmediato. Los checkboxes se reservan para ajustes dentro de un formulario con boton Save explicito. Nunca uses radio buttons para una opcion booleana unica.

Material Design 3 / Android Settings Design Guidelines
Preferir
Apariencia
Modo oscuro
Cambia el tema al instante
Notificaciones push
Evitar
Apariencia
Modo oscuro
1439

Agrupar ajustes en subscreens cuando la lista supera 15 items

Cuando una pantalla de ajustes tiene 15 o mas items, agrupa ajustes relacionados bajo subscreens etiquetadas. Usa divisores para separar grupos en una pantalla, nunca entre cada item individual. Los titulos de seccion deben ser especificos, nunca "Otros" o "Varios".

Android Settings Design Guidelines / Material Design 1 Settings Pattern
Preferir
Ajustes
Comunicaciones
Notificaciones
Privacidad
Datos y permisos
Apariencia
Tema e idioma
Evitar
Ajustes
Email de notificaciones
Notificaciones push
Idioma
Privacidad de datos
Tema
Otros
+ 12 mas...
1440

Auto-save en controles imperativos (toggles); Save explicito en inputs declarativos

Los toggles y dropdowns de seleccion unica deben guardar su estado inmediatamente al cambiar. Los text inputs, campos de contrasena y radio groups requieren una accion explicita de Save. Nunca mezcles ambos paradigmas en un mismo formulario de ajustes sin separacion visual.

GitHub Primer Design System - Saving Pattern
Preferir
Notificaciones · auto-guardado
Correo electronico
Guardado
SMS
Email alternativo · requiere guardar
1441

Colocar ajustes destructivos (Danger Zone) al final con borde rojo y copy de consecuencia

Agrupa todas las acciones irreversibles, eliminacion de cuenta, purga de datos, cancelacion de suscripcion, en una seccion "Zona de peligro" claramente etiquetada al final de la pagina. La seccion debe usar borde rojo y cada accion debe incluir una descripcion de la consecuencia permanente.

Smashing Magazine - Dangerous Actions in User Interfaces (2024) / Cloudscape Design System
Preferir
Cuenta
Cambiar contrasena
Sesiones activas
Zona de peligro
Exportar datos
Descarga toda tu informacion antes de eliminar
Eliminar cuenta
Tu cuenta y todos los datos se eliminan permanentemente sin recuperacion posible
1442

Exigir escribir el nombre del recurso (no solo "confirmar") para eliminaciones de alta severidad

Para eliminaciones a nivel de cuenta o infraestructura, exige que el usuario escriba el nombre exacto del recurso en un campo de texto antes de activar el boton destructivo. El boton debe permanecer deshabilitado hasta que el input coincida. Implementa un delay de 100-200ms para prevenir doble clic accidental.

Cloudscape Design System - Delete with Additional Confirmation / Smashing Magazine (2024)
Preferir
Eliminar organizacion
Esta accion eliminara permanentemente todos los datos de acme-corp y no podra revertirse.
Escribe el nombre de la organizacion para continuar:
acme-corp
Evitar
Eliminar organizacion
Esta accion no se puede deshacer.
1443

Ofrecer periodo de gracia de 7 dias para eliminacion de cuenta antes de ejecutar permanentemente

Despues de que un usuario confirma la eliminacion de cuenta, programa la purga de datos para 7 dias despues en lugar de ejecutarla de inmediato. Notifica por email con un enlace de cancelacion. Durante el periodo de gracia, muestra un banner prominente en cada pagina con opcion de cancelar.

GitLab account deletion implementation (MR #118887) / OpenStreetMap account deletion cool-down (PR #4313)
Preferir
Tu cuenta se eliminara el 22 de junio de 2026
Tienes 7 dias para cancelar este proceso. Revisa tu correo para el enlace de cancelacion.
Email enviado a usuario@email.com
Tu cuenta fue programada para eliminacion
Inicia sesion antes del 22 de junio para cancelar. Despues de esa fecha el proceso sera irreversible.
1444

Todo toggle debe tener etiqueta visible y nombre accesible via aria-checked y role=switch

Cada toggle de ajustes debe tener una etiqueta de texto visible adyacente al control, nunca un toggle sin texto. Para componentes switch personalizados, establecer role="switch" y actualizar aria-checked a "true" o "false" en cada cambio de estado. Area tactil minima de 44x44pt en iOS y 48x48dp en Android.

WCAG 2.2 SC 4.1.2 - Name, Role, Value / Apple HIG / Material Design 3
Preferir
Notificaciones push
Envia alertas aunque la app este cerrada
SMS de recordatorio
Evitar
Sin texto, sin role, sin aria-checked
1445

Mostrar busqueda en ajustes cuando el total de items supera 30

Agrega un campo de busqueda persistente al tope de la pagina raiz de ajustes cuando el total de items individuales (contando en todas las subscreens) supera 30. La busqueda debe devolver resultados de todos los niveles de la jerarquia, mostrando la ruta completa en cada resultado.

iOS Settings app (Apple, desde iOS 9) / Android Settings app search (AOSP, desde Android 7.0)
Preferir
Ajustes
Resultados
Auto-facturacion
Facturacion › Ajustes de factura › Auto-facturacion
Factura enviada
Notificaciones › Factura enviada
Recordatorio de pago
Facturacion › Notificaciones › Recordatorios
1446

Separar ajustes de admin en una seccion o pagina distinta, nunca mezclados con ajustes de usuario

Los ajustes que requieren permisos de admin u owner deben estar visual y estructuralmente separados de los ajustes de nivel usuario. Los ajustes de admin no deben aparecer (ni siquiera deshabilitados) para usuarios sin esos permisos. La seccion de admin solo debe ser accesible si el rol del usuario lo permite.

RBAC UX Research - Edwin Choate / Frontegg Role and Permission Management Guide
Preferir
Personal
Perfil
Notificaciones
Admin
SSO
Facturacion
Equipo
Evitar
Ajustes
Perfil
SSO (Solo admin)
Notificaciones
Facturacion (Solo admin)
1447

Texto secundario en filas de ajustes solo cuando la etiqueta sola es insuficiente; maximo una linea (~60 caracteres)

Agrega una linea descriptiva debajo de una etiqueta de ajustes solo cuando la etiqueta no puede transmitir el estado o consecuencia por si sola. Para ajustes toggle, el texto debe describir que ocurre cuando se activa, iniciando con un verbo. Limita a una linea (~60 caracteres). Omite texto secundario en filas que navegan a una subscreen.

Material Design 1 Settings Pattern / Android Settings Design Guidelines
Preferir
Sincronizacion en segundo plano
Actualiza tus datos aunque la app este cerrada
Idioma
Espanol (Mexico)
Politica de privacidad
Evitar
Notificaciones
Recibe alertas por email, push y SMS cuando hay actividad en tu cuenta, facturas vencidas o mensajes de tu equipo en tiempo real.
Idioma
Cambia el idioma que usa la aplicacion
1448

Actualizar UI optimisticamente en toggles; revertir con error inline si la solicitud falla en 5 segundos

Cuando un usuario cambia un toggle de ajustes, actualizar la UI inmediatamente sin esperar la respuesta del servidor. Si la solicitud falla dentro de 5 segundos, revertir el toggle y mostrar un mensaje de error inline adyacente al control, no un toast que desaparece. Nunca mostrar un spinner que bloquee el toggle por mas de 400ms.

Doherty Threshold / GitHub Primer Saving Pattern / React useOptimistic, TanStack Query
Preferir
Correos de marketing
Guardado
Notificaciones SMS
No se pudo guardar.
Evitar
Correos de marketing
Cargando... (800ms bloqueado)
1449

Nunca verbos genericos como etiquetas de ajuste; iniciar cada etiqueta con el sustantivo mas importante

Las etiquetas de fila de ajustes no deben comenzar con verbos como "Configurar", "Cambiar", "Editar", "Gestionar" o "Seleccionar". Las etiquetas deben liderar con el sustantivo que identifica el ajuste: "Sonido de notificacion", no "Cambiar sonido de notificacion". Usar sentence case, nunca Title Case en cada palabra.

Material Design / Android Settings Design Guidelines / Material Design 1 Settings Pattern
Preferir
Notificaciones
Alertas por email
Mensajes push
Recordatorios SMS
Evitar
Notificaciones
Gestionar Notificaciones De Email
Configurar Preferencias De Push
Cambiar Como Funcionan Los SMS