Проте ні, правило максимально просте:
Якщо користувач щось зробив, програма мусить це запамʼятати.
Ну тобто мова про збереження стану загалом, так. Щоразу, як вас змушують повторно заповнювати форму, знов скролити до місця, на якому ви припинили читати, або навіть просто знов логінитися — це кепський UX.
Але найбільше мене тіпає, коли ти вводиш якийсь текст, а програма його після певних дій втрачає 🤬 Повна зневага до часу користувача та до виконаної ним роботи.
Історично так склалося, що вкрай погано з цим саме у вебі, бо там для збереження стану треба докладати окремих зусиль. Памʼятаю, як 20 років тому сформував звичку копіювати текст повідомлення (особливо довгого) перед надсиланням — досі так роблю, і ще жодного разу не пошкодував навіть в теперішні часи.
Але чого я зовсім не розумію, так це отаких приколів, як у відосі: контрол втрачає фокус, якщо при селекшні курсор миші опиняється за його межами, а на втрату фокуса він кенселяє операцію. У мене звичка все селектити, тож я від цього страждаю, причому значно частіше, ніж можна було б уявити: на кожному третьому сайті така хєрня. Підозрюю, що це поведінка з якогось всратого UI-фреймворка для вебу.
Просто не передавайте фокус в інший контрол на release event, м? Робіть це тільки на press. Як вам така ідея?