Intinya...
Ketika autentikasi (ulang) diperlukan (misalnya ketika sesi timeout), semua data yang sudah dimasukkan harus tetap tersedia sehingga pekerjaan bisa dilanjutkan tanpa memulai dari awal.
Apa itu WCAG 2.2.5?
Situs web tidak boleh menghapus pekerjaan pengguna saat sesi berakhir. Kalau seseorang otomatis keluar dari akun karena alasan keamanan (misalnya diam terlalu lama), mereka harus bisa masuk lagi dan melanjutkan tanpa kehilangan data yang sudah dimasukkan.
Kriteria keberhasilan ini berlaku untuk situasi seperti:
- Keluar otomatis saat sedang mengisi formulir karena terlalu lama tidak aktif
- Sesi berakhir saat sedang menulis email, posting di forum, atau proses belanja
- Dikeluarkan dari situs karena masuk dari perangkat lain
Tujuan dari WCAG 2.2.5 adalah memastikan pengguna bisa masuk kembali dan melanjutkan dari posisi terakhir tanpa kehilangan kemajuan atau harus mulai dari awal.
Catatan: Kalau tidak ada data atau interaksi pengguna, seperti saat membaca blog, maka kriteria ini tidak berlaku.
Mengapa ini penting?
Pengguna dengan disabilitas sering membutuhkan waktu lebih lama untuk menyelesaikan tugas. Memaksa mereka mengulang semuanya karena sesi berakhir bisa sangat membuat frustrasi dan terasa tidak adil. Menyimpan progress membantu semua orang, terutama pengguna yang membaca dengan cermat, menggunakan screen reader, atau menavigasi dengan alat bantu.
Bayangkan kamu sudah mengisi formulir panjang dengan hati-hati, lalu tiba-tiba dikeluarkan sebelum sempat mengirimkan. Sekarang bayangkan itu terjadi hanya karena kamu butuh waktu lebih lama untuk membaca pertanyaannya atau berpindah antar kolom.
Pengguna yang membutuhkan waktu tambahan, karena disabilitas, kecepatan membaca, kendali motorik, atau bahkan sedang dibantu penerjemah, tidak seharusnya kehilangan pekerjaan mereka hanya karena sesi berakhir.
Siapa yang terpengaruh?
Pengguna dengan disabilitas kognitif, pengguna netra, pengguna dengan hambatan gerak, dan pengguna tuli.
Pengguna dengan disabilitas kognitif mungkin butuh waktu lebih lama untuk memahami informasi dan menyelesaikan tugas. Kalau sesi berakhir tanpa menyimpan kemajuan, mereka bisa kehilangan semua hasil kerja kerasnya.
Pengguna netra yang menggunakan screen reader membaca konten dengan lambat, baris demi baris. Jika kemajuan tidak disimpan, sesi yang berakhir bisa berarti harus mengulang isi formulir dari awal atau kehilangan posisi terakhir mereka.
Pengguna dengan hambatan gerak sering menggunakan alat bantu input seperti pelacak mata atau saklar khusus, yang memang membuat proses jadi lebih lambat. Kehilangan kemajuan karena sesi berakhir bisa membuat tugas hampir mustahil diselesaikan.
Pengguna tuli bisa butuh waktu lebih lama untuk membaca dan memahami teks tertulis, terutama jika bahasa isyarat adalah bahasa pertama mereka. Kalau sesi berakhir di tengah-tengah tugas, mereka bisa kehilangan posisi mereka.
Cara menerapkan WCAG 2.2.5
Simpan kemajuan pengguna saat autentikasi ulang
Saat sesi berakhir, pastikan pekerjaan pengguna disimpan, baik secara sementara di server atau dengan cara aman dalam proses masuk ulang. Setelah masuk kembali, pengguna harus bisa melanjutkan tepat dari posisi terakhir mereka.
Bagian di bawah ini menjelaskan berbagai cara untuk memenuhi persyaratan ini, tergantung pada pengaturan situs dan jenis data yang kamu tangani.
Formulir dan aktivitas yang perlu kamu periksa meliputi:
- Formulir lamaran kerja
- Formulir pendaftaran kuliah
- Formulir data kesehatan
- Checkout keranjang belanja
- Pendaftaran langganan
- Registrasi acara
- Pemesanan hotel atau perjalanan
- Menulis blog post atau balasan forum
- Menyelesaikan kuis atau survei online
- Mengubah pengaturan akun atau data pribadi
Simpan data sementara di server
Simpan sementara data yang sudah dimasukkan pengguna, seperti jawaban formulir, isi keranjang belanja, atau pesan draf, sampai sesi dipulihkan.
Ini menggunakan konsep auto-save, di mana server menyimpan data pengguna. Setelah pengguna masuk kembali, situs web akan memuat ulang formulir atau aktivitas dengan data yang sebelumnya sudah disimpan.
Kirim data lewat halaman login
Kirim data secara aman melalui halaman autentikasi ulang, supaya tidak ada yang hilang meskipun kamu tidak bisa atau tidak ingin menyimpannya di server.
Metode ini membutuhkan pengiriman data dengan aman melalui halaman login, misalnya dengan menggunakan hidden field atau token terenkripsi. Dengan cara ini, informasi sensitif seperti nomor kartu kredit tetap aman dan tidak perlu disimpan di server.
Kesimpulan
Timeout karena alasan keamanan memang penting, tapi seharusnya tidak membuat orang kehilangan hasil kerja mereka. Entah karena cara mereka membaca, menavigasi, atau berinteraksi dengan situsmu, menyimpan progress saat autentikasi ulang akan membuat pengalaman tetap adil dan tidak bikin frustrasi.