Тайм-ауты сессии: незамеченный барьер доступности в дизайне аутентификации — Smashing Magazine
Перевод статьи: Session Timeouts: The Overlooked Accessibility Barrier In Authentication Design — Smashing Magazine
10 мин на чтение
Доступность,
Дизайн,
Удобство использования,
UX
Плохо продуманные тайм-ауты сессии — это не просто техническое неудобство. Они могут стать серьезными барьерами доступности, которые прерывают важные действия в сети, особенно для людей с инвалидностью. Вот как внедрить внимательное управление сессией, чтобы повысить удобство использования, уменьшить раздражение и помочь создать более доступный и уважительный веб.
Для веб-специалистов управление сессиями — это баланс между пользовательским опытом, кибербезопасностью и расходом ресурсов. Для людей с инвалидностью это нечто большее — барьер на пути покупки цифровых билетов, пролистывания соцсетей или подачи заявки на кредит онлайн. Доступность тайм-аутов сессии может стать разницей между плохим днем и хорошим днем для людей с инвалидностью.
Для многих привычная ситуация: вы доходите до середины важной формы, а затем вас без церемоний выкидывает обратно на страницу входа. Такие инциденты приводят к раздражению и даже к полному отказу от сайта. Выполнив немного работы на бэкенде, веб-специалисты могут гарантировать, что никому не придется испытывать это разочарование.
Почему тайм-ауты сессии непропорционально сильно затрагивают пользователей с инвалидностью
Значительная доля населения мира имеет когнитивные, моторные или нарушения зрения. По всему миру примерно 1,3 миллиарда людей имеют значительные инвалидности. Независимо от того, есть ли у них моторные, когнитивные или зрительные нарушения, они влияют на способность легко взаимодействовать с технологиями. Все они могут непропорционально страдать от тайм-аутов сессии, что делает доступность тайм-аутов сессии критически важной проблемой.
Тайм-ауты сессии недоступны для большой части населения. Оценочно 20% людей являются нейроотличными (neurodivergent), то есть тайм-аут-барьеры затрагивают не только небольшую группу пользователей — они влияют на существенную часть аудитории любого сайта. В результате некоторые пользователи могут выглядеть неактивными, хотя это не так. Жесткие тайм-ауты создают ненужное давление.
Моторные нарушения и более медленные скорости ввода
Например, человек с церебральным параличом пытается купить билеты онлайн на предстоящий концерт. Из-за трудностей с координацией и мышечной скованности он может вводить данные медленнее, чем человек без инвалидности. Он выбирает дату, выбирает места и заполняет личную информацию. Прежде чем он успеет ввести данные своей банковской карты, появляется всплывающее окно тайм-аута. Его вышвыривают из системы из-за «бездействия», и ему приходится начинать весь процесс заново.
Эта ситуация не является полностью гипотетической. Мэтью Кейн (Matthew Kayne) — адвокат по правам людей с инвалидностью, телеведущий и автор журнала The European. Он описывает усилия, необходимые для навигации по сайтам, будучи человеком с церебральным параличом. Он объясняет, что пользовательский интерфейс часто плохо спроектирован для адаптивных устройств, и его беспокоит, что его оборудование может реагировать некорректно. Тщательно пройдя по каждой странице, он внезапно оказывается разлогиненным. В один момент одно истекшее по времени заполнение формы может стереть часы работы — и это не просто вопрос неудобства. Одна неудачная попытка может задержать получение поддержки или привести к тому, что он пропустит назначенные приемы.
Моторные нарушения могут замедлять скорость ввода, из-за чего может казаться, что пользователь находится не за компьютером. Поэтому люди, которые сталкиваются со скованностью, тремором рук, проблемами координации, непроизвольными движениями или мышечной слабостью, непропорционально сильно страдают от тайм-аутов сессии. Согласно DWP Accessibility Manual, адаптивным технологиям может потребоваться несколько попыток, чтобы зарегистрировать ввод, что заметно замедляет пользователей. Даже если им показывают предупреждение, они могут не успеть среагировать достаточно быстро, чтобы подтвердить, что они все еще активны.
Когнитивные нарушения и время на обработку
Тайм-ауты сессии также могут создавать барьеры доступности для людей с различными когнитивными особенностями. Жесткие тайм-ауты создают ненужное давление, исходя из предположения, что все обрабатывают информацию с одинаковой скоростью. Пользователи могут выглядеть неактивными, хотя в действительности они читают, обдумывают или выполняют обработку.
Когнитивные различия охватывают широкий спектр опыта, включая нейроотличия вроде аутизма и СДВГ (ADHD), а также нарушения развития, например синдром Дауна, и трудности обучения, например дислексию. Многие люди рождаются с когнитивными особенностями. Более того, по оценкам 20% людей являются нейроотличными, и это большая часть аудитории любого сайта. Другие приобретают когнитивные инвалидности позже в жизни из-за травматического повреждения мозга или состояний вроде деменции.
Людям с когнитивными инвалидностями часто требуется больше времени, чтобы завершать онлайн-задачи — не потому, что у них есть какой-то дефицит, а потому что они обрабатывают информацию иначе. Дизайнерские решения, которые хорошо работают для нейротипичных пользователей, могут создавать ненужные препятствия для людей с СДВГ, дислексией, аутизмом или состояниями, связанными с памятью.
Невидимые по времени тайм-ауты сессии особенно проблемны для людей, которые сталкиваются с потерей памяти, различиями в обработке языка или «слепотой ко времени» (time blindness). Например, лидер в области нейроотличных технологий Кейт Каррутерс (Kate Carruthers) говорит, что СДВГ повлиял на ее восприятие времени. У нее есть «слепота ко времени», и она не может надежно отслеживать, сколько времени прошло, поэтому оценки оказываются бесполезными.
Когда сайты требуют от пользователей оценивать оставшееся время до истечения сессии, они незаметно исключают людей — не только тех, у кого есть формальные диагнозы СДВГ, но и всех, кто воспринимает время иначе или обрабатывает информацию в другом темпе.
“
Нарушения зрения и перегрузка при навигации с помощью скринридера
Поскольку слепые пользователи или пользователи с низким зрением не могут визуально «просканировать» страницу, чтобы найти нужное, им приходится слушать ссылки, заголовки и поля форм. Это по своей природе занимает больше времени. Более 43 миллионов человек по всему миру сталкиваются с слепотой, в то время как 295 миллионов имеют нарушения зрения от умеренных до тяжелых — это делает проблему доступности особенно значимой для любого сайта, рассчитанного на глобальную аудиторию.
В результате сессии этих пользователей могут истечь даже тогда, когда они активны. Онлайн-таймеры и предупреждения за 30 секунд мало помогают, потому что они не созданы с учетом работы скринридеров.
Богдан Церовац (Bogdan Cerovac), веб-разработчик, увлеченный цифровой доступностью, столкнулся с этим на собственном опыте. Таймер обратного отсчета сообщил ему, сколько времени осталось до того, как его разлогинят из-за бездействия. В целом, по всем признакам, это работало нормально. Однако он описывает опыт со скринридером как ужасный: уведомление о оставшемся времени приходило ему каждую секунду. Он не мог нормально навигировать по странице, потому что его «засыпало» постоянными сообщениями о статусе.
Частые сценарии тайм-аутов, которые не соответствуют требованиям доступности
Согласно Национальному институту стандартов и технологий (NIST), управление сессиями предпочтительнее, чем постоянно сохранять учетные данные, что стимулировало бы пользователей создавать обходные механизмы аутентификации, способные поставить под угрозу безопасность. Однако несколько распространенных паттернов тайм-аутов не соответствуют современным требованиям доступности тайм-аутов сессии.
Источник изображения: princekwame. (Большой превью)
Тихие тайм-ауты и недостаточные предупреждения
Многие сайты либо не показывают предупреждение перед тем, как разлогинить пользователя, либо выводят краткое всплывающее окно на несколько секунд, которое появляется слишком поздно, чтобы успеть предпринять что-то полезное. Для пользователей, которые навигируют с помощью скринридера, такие предупреждения могут не быть озвучены вовремя. Для людей с моторными нарушениями 30-секундный обратный отсчет может не дать достаточно времени, чтобы ответить.
Давайте рассмотрим страницу DS-260 Консульского электронного приложения (Consular Electronic Application Center), которая используется для подачи заявления на получение или продление виз США для неиммигрантов. Если заявка простаивает около 20 минут, система разлогинивает пользователя без предупреждения. Раздел FAQ дает только приблизительную оценку времени. Работа человека сохраняется только тогда, когда он завершает заполнение страницы, поэтому он может потерять значительный прогресс.
Непродлеваемые сессии
Резкое сообщение «сессия истекла» раздражает даже людей без инвалидности. Если нет возможности продолжить, пользователи вынуждены снова входить в систему и начинать работу заново, тратя время и энергию.
Потеря данных формы при истечении
Если сайт автоматически не сохраняет прогресс, посетители потеряют все, когда сессия истечет. Для человека с инвалидностью это не просто пустая трата времени. Это может сделать его день несоизмеримо тяжелее. Представьте, что вы потратили час на запрос услуги, подачу заявки на работу или заказ-спецификацию, а затем весь прогресс полностью стирается почти без предупреждения или вообще без него.
Паттерны дизайна, которые балансируют безопасность и доступность
Несогласованные периоды тайм-аута и отсутствие предупреждений приводят к внезапной, неожиданной потере всей несохраненной работы. Для длинных сложных форм — например, DS-260 — плохой пользовательский опыт особенно болезнен. В сравнении: подача заявления на получение пенсионного кредита в Великобритании (United Kingdom’s application for pension credit) — очень доступная. Она предупреждает пользователей как минимум за две минуты и позволяет продлить сессию. Она соответствует уровню AA критериев успеха WCAG 2.2, что указывает на ее доступность.
Источник изображения: Experience League. (Большой превью)
Люди с инвалидностью непропорционально сильно страдают от непредвиденных последствий плохого управления сессиями. К счастью, недоступность тайм-аутов сессии — не неизбежный факт. С несколькими небольшими изменениями веб-специалисты могут заметно улучшить доступность своего сайта.
Системы предварительных предупреждений и функция продления
Сайты должны четко указывать наличие временного лимита и его длительность до начала сессии. Например, если человек заполняет банковскую форму, первая страница должна существовать исключительно для того, чтобы сообщить ему, что установлен лимит в 60 минут. Живой счетчик, который регулярно обновляется, может помочь отслеживать, сколько времени осталось. Также пользователям следует сообщить, могут ли они изменить длительность тайм-аута сессии.
Тайм-ауты по активности vs. абсолютные тайм-ауты
Тайм-аут по активности разлогинивает пользователя из-за бездействия, а абсолютный тайм-аут разлогинивает независимо от активности. Для офиса 24-часовой абсолютный таймер может иметь смысл, поскольку сотрудникам нужно входить в систему только тогда, когда они приходят на работу. Пока пользователи знают, когда истечет их сессия, второй вариант более доступен, чем первый.
Автосохранение и сохранение прогресса
Cookies, localStorage и sessionStorage — это временные механизмы хранения на стороне клиента, которые позволяют веб-приложениям сохранять данные в течение одной сессии браузера. Это мощные, легковесные инструменты. Веб-разработчики могут использовать их, чтобы автоматически сохранять прогресс пользователей через частые интервалы, гарантируя восстановление данных после повторной аутентификации.
Таким образом, даже если сессия человека истечет случайно, его не накажут. Когда он снова войдет в систему, он сможет закончить ввод данных своей кредитной карты или продолжить с того места, где остановился, при заполнении онлайн-формы.
Тестирование и соображения по соответствию WCAG
Руководство по доступности веб-контента (Web Content Accessibility Guidelines, WCAG) — это набор международно признанных стандартов доступности в интернете, опубликованных W3C. Оно выступает арбитром доступности тайм-аутов сессии. Веб-разработчикам следует уделить особое внимание пункту 2.9.2 (Guideline 2.9.2), который описывает лучшие практики для предоставления достаточного времени.
Механизм, позволяющий настраивать тайм-аут, должен продлевать лимит до истечения сессии или позволять полностью отключить его. Для первого варианта должно появляться диалоговое окно с вопросом, нужно ли пользователю больше времени, чтобы он мог продолжить одним кликом. В WC3 отмечается, что существуют исключения.
Например, когда сайт проводит прямую продажу билетов, пользователи могут удерживать билеты в своей корзине только 10 минут, чтобы дать другим шанс купить ограниченный остаток. Либо тайм-ауты сессии могут быть необходимы на общих компьютерах. Если бы библиотекари разрешили всем оставаться залогиненными вместо того, чтобы автоматически разлогинивать их на ночь, это создало бы риски для безопасности.
Некоторые процессы вообще не должны иметь временных ограничений. Когда вы просматриваете соцсети, читаете новостную статью или ищете товары на сайте электронной коммерции, нет причин, чтобы сессия истекала в рамках произвольного временного интервала. Между тем, в случае с таймированным экзаменом это может быть необходимо. Однако в такой ситуации администраторы могут продлевать лимиты для студентов с инвалидностью.
Когда веб-разработчики делают управление сессиями доступным, они не обслуживают лишь небольшую группу. Данные Pew Research Center показывают: 62% взрослых с инвалидностью имеют компьютер. 72% имеют высокоскоростной домашний интернет. Эти показатели статистически не отличаются от доли недисабледных (без инвалидности) взрослых, которые говорят, что у них есть то же самое.
Преодоление барьера доступности тайм-аута сессии
WCAG предоставляет дополнительные ресурсы, которые веб-разработчики могут изучить, чтобы лучше понять доступность управления сессиями:
WCAG SC 2.2.1 Timing Adjustable
WCAG SC 2.2.5 Re-authenticating
WCAG SC 2.2.6 Timeouts
Помимо следования этим рекомендациям, существует множество материалов от ведущих образовательных учреждений, организаций, занимающихся открытыми веб-технологиями, и государственных агентств. Они дают отличную отправную точку для тех, у кого есть промежуточный уровень знаний в веб-разработке.
Веб-специалистам стоит рассмотреть следующие ресурсы, чтобы узнать больше о инструментах и техниках, которые можно использовать, чтобы сделать управление сессиями более доступным:
- Session Extension Technique от Harvard University
- DWP Accessibility Manual: Как тестировать тайм-ауты сессии
- Window: свойство sessionStorage
Доступность тайм-аутов сессии — это не только лучшая практика отрасли, но и этический стандарт веб-разработки.
«Те, кто расставляет приоритеты в этой области, получат более широкую аудиторию, улучшат удобство использования и привлекут больше посетителей сайта и более долгие сессии.
Главный вывод таков: сайт с недоступными тайм-аутами сессии отправляет понятный сигнал, что он не ценит ни время, ни усилия пользователя — а это проблема, которая создает значительные барьеры для людей с инвалидностью. Но это решаемая проблема. С несколькими простыми изменениями — например, предоставлением предупреждений о продлении сессии и автосохранением прогресса — веб-разработчики могут построить более внимательный, доступный и уважительный интернет для всех».
Дополнительное чтение на SmashingMag
«Что на самом деле означает, чтобы сайт был доступен для навигации с клавиатуры», Eleanor Hecks
«Проектирование для нейроразнообразия», Vitaly Friedman
«Что бы я хотел, чтобы кто-то сказал мне, когда я только начинал разбираться в ARIA», Eric Bailey
«Набор инструментов для адвокации доступности дизайнера», Yichan Wang

(yk)