Reduced Motion
Mengurangi motion non-esensial ketika user meminta interface yang lebih tenang.
Tujuan belajar
- Menjelaskan preference reduced motion dan alasan UI perlu menghormatinya
- Membedakan motion esensial dari animation dekoratif atau transisi non-esensial
- Menambahkan CSS fallback untuk hover, transition, dan animation yang berlebihan
- Menguji preference melalui browser atau operating system sebelum menandai task selesai
Isi lesson
6 blok- 1.Motion bukan selalu feedback yang netralBelum selesaiWajib
- 2.Kurangi hover movement dan badge animationBelum selesaiWajib
- 3.Coding practiceBelum selesaiWajib
- 4.Cek pemahamanBelum selesaiWajib
- 5.Jangan mengandalkan global reset tanpa memahami UIBelum selesaiOpsional
- 6.RingkasanBelum selesaiWajib
Motion bukan selalu feedback yang netral
WajibScale, slide, parallax, auto-play, dan animation berulang dapat membuat beberapa user tidak nyaman atau sulit mempertahankan fokus. prefers-reduced-motion memberi browser sinyal bahwa user memilih mengurangi motion non-esensial. Preference ini bukan perintah untuk menghapus setiap transition secara membabi buta. Pertahankan perubahan yang benar-benar menyampaikan informasi atau fungsi penting, tetapi ganti gerakan dekoratif dengan state yang lebih tenang, misalnya perubahan opacity, text status, atau tampilan langsung tanpa perjalanan visual panjang.
Bagian ini memengaruhi progres lesson.
Kurangi hover movement dan badge animation
Wajib.course-card {
transition: transform 240ms ease, box-shadow 240ms ease;
}
.course-card:hover {
transform: translateY(-4px);
}
.completion-badge {
animation: celebrate 900ms ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce) {
.course-card {
transition: none;
}
.course-card:hover {
transform: none;
}
.completion-badge {
animation: none;
}
}Default UI masih memberi feedback ringan. Saat preference reduce aktif, card tidak lagi bergerak dan badge tidak berdenyut terus-menerus. Completion tetap dapat dibaca dari text serta warna, jadi informasi tidak hilang bersama animation. Bila animation diperlukan untuk menjelaskan perubahan data atau lokasi focus, sediakan alternatif yang sama jelasnya.
Bagian ini memengaruhi progres lesson.
Coding practice
WajibDibuka di workspace khususReduce course card motion
Tambahkan reduced-motion behavior agar card dan completion badge tidak bergerak tanpa kebutuhan ketika user meminta interface yang lebih tenang.
Tujuan awal: Fokus di tab CSS.
Practice ini dibuka di workspace khusus. Buka practice untuk memakai editor, preview, dan cek otomatis.
Tombol selesai aktif setelah semua validasi wajib lolos.
Cek pemahaman
WajibJawab duluCek pemahaman singkat
Mana perubahan yang paling tepat saat prefers-reduced-motion: reduce aktif?
Progres lesson naik setelah jawaban benar.
Peringatan
OpsionalJangan mengandalkan global reset tanpa memahami UI
Rule global yang mematikan semua animation dapat merusak transition yang memang membantu memahami perubahan, termasuk dialog yang baru muncul atau progress yang sedang berjalan. Mulai dari motion yang paling mencolok, audit purpose-nya, lalu uji alternate behavior. Hindari juga animation yang dimulai otomatis dan berjalan terus tanpa control user.
Opsional, tidak menghambat penyelesaian lesson.
Ringkasan
Wajib- prefers-reduced-motion membaca preference user dari device atau browser.
- Kurangi motion dekoratif, auto-play, serta movement yang tidak diperlukan untuk memahami task.
- Informasi success, error, focus, dan progress tetap harus jelas tanpa animation.
- Uji setting reduce pada environment nyata, bukan hanya membaca CSS selector.
- Berikutnya, screen reader smoke test membantu kita mendengar structure dan feedback yang tidak selalu terlihat di UI visual.
Bagian ini memengaruhi progres lesson.
Langkah berikutnya
Selesaikan bagian penting lesson ini
Lanjutkan blok wajib berikutnya: Motion bukan selalu feedback yang netral.