Sebuah tombol di mockup biasanya menunjukkan satu keadaan: default. Dalam produk sebenarnya, tombol yang sama diarahkan, difokuskan dengan keyboard, ditekan, dinonaktifkan saat formulir tidak lengkap, dan dimuat saat permintaan dikirim. Masing-masing merupakan status UI, dan masing-masing memerlukan desain.
Ini membantu untuk memisahkan dua kelompok. Status interaksi berasal dari pengguna: arahkan kursor, fokus, tekan, dan nonaktifkan. Status data berasal dari sistem: memuat, kosong, sebagian data, kesalahan dan berhasil. Layar daftar, misalnya, memerlukan desain saat memuat, saat tidak memiliki item, saat memiliki satu item, saat memiliki ratusan, dan saat permintaan gagal.
Negara-negara fokus patut mendapat perhatian khusus. Orang yang menggunakan keyboard atau perangkat switch bergantung pada indikator fokus yang terlihat untuk mengetahui di mana mereka berada. Menghapus kerangka fokus browser tanpa penggantinya adalah salah satu kegagalan aksesibilitas yang paling umum.
Perubahan antar negara bagian juga merupakan bagian dari desain. Transisi singkat dan jelas dari default ke ditekan mengonfirmasi ketukan. Status pemuatan yang berubah dengan lancar menjadi sukses memberi tahu orang-orang bahwa tindakan mereka berhasil. Lompatan mendadak, atau animasi yang terlalu lambat, membuat antarmuka terasa tidak dapat diandalkan.
Cara praktis untuk menghindari status yang hilang adalah dengan membuat daftar status untuk setiap komponen sebelum merancang, atau memodelkan komponen sebagai mesin status: sekumpulan status dan peristiwa yang berpindah di antara status tersebut. ExodeUI yang kami buat bekerja dengan cara ini. Anda mendesain setiap status dan transisi di antara status tersebut dalam satu file, dan kode Anda mengirimkan peristiwa yang mengubah status di aplikasi sebenarnya.