Feedback & States — UI/UX

UI States — Komunikasikan Status ke User Setiap elemen UI memiliki berbagai state. User harus selalu tahu apa yang sedang terjadi. 5 State yang Harus Didesain 1

UI States — Komunikasikan Status ke User

Setiap elemen UI memiliki berbagai state. User harus selalu tahu apa yang sedang terjadi.

5 State yang Harus Didesain

1. Empty State Saat tidak ada data — jangan tampilkan layar kosong:

<div class="empty-state">
  <img src="empty.svg" alt="" />
  <h3>Belum ada pesanan</h3>
  <p>Pesanan kamu akan muncul di sini.</p>
  <button>Mulai Belanja</button>
</div>

2. Loading State Saat menunggu data:

3. Error State Saat sesuatu gagal:

4. Success State Saat aksi berhasil:

5. Partial/Degraded State Saat sebagian fitur tidak tersedia:

Accessibility States

/* Focus visible — untuk keyboard users */
button:focus-visible {
  outline: 2px solid #2563EB;
  outline-offset: 2px;
}

/* Error state dengan aria */
.input-error {
  border-color: #EF4444;
}
<input aria-invalid="true" aria-describedby="error-msg" />
<span id="error-msg" role="alert">Email tidak valid.</span>

Tips

  1. Design semua states sebelum coding — jangan hanya happy path
  2. Loading skeleton > spinner — user merasa halaman lebih cepat
  3. Error messages harus helpful — sebutkan apa yang salah DAN bagaimana memperbaiki
  4. Toast notifications — untuk feedback non-blocking (auto-dismiss 3-5 detik)

Tokopedia menampilkan skeleton loading saat browse produk, success toast setelah add to cart, dan empty state yang mengundang saat wishlist kosong.

Yang akan kamu pelajari