Сроки действия сессий: незамеченный барьер доступности в дизайне аутентификации

Плохо продуманные тайм-ауты сессии — это больше, чем техническое неудобство. Они могут превращаться в серьёзные барьеры доступности, которые прерывают важные онлайн-задачи, особенно у людей с инвалидностью. Рассказываем как внедрить вдумчивое управление сессиями, чтобы улучшить удобство использования, снизить уровень разочарования и помочь создать более доступный и уважительный веб. Для веб-разработчиков управление сессиями — это баланс между пользовательским опытом, кибербезопасностью и расходом ресурсов. Для людей с инвалидностью это больше, чем просто баланс: это барьер на пути покупки цифровых билетов, прокрутки соцсетей или подачи заявки на кредит онлайн. Доступность тайм-аута сессии может стать разницей между плохим днём и хорошим днём для людей с инвалидностью. Для многих привычна ситуация, когда вы доходите до середины важной формы, а затем вас без церемоний выбрасывает обратно на экран входа. Такие инциденты приводят к раздражению и даже к полному отказу от сайта. Выполнив немного работы на бэкенде, веб-разработчики могут гарантировать, что никому не придётся испытывать это разочарование.

Почему тайм-ауты сессии непропорционально сильно влияют на пользователей с инвалидностью

Значительная часть населения мира имеет когнитивные, моторные или нарушения зрения. Во всём мире примерно 1,3 миллиарда людей имеют существенные ограничения. Независимо от того, есть ли у человека моторные, когнитивные или зрительные нарушения, они влияют на его способность легко взаимодействовать с технологиями. Все они могут непропорционально сильно страдать от тайм-аутов сессии, поэтому доступность тайм-аутов сессии — критически важная проблема. Тайм-ауты сессии недоступны для большой доли населения. Около 20% людей являются нейроотличными (neurodivergent), то есть тайм-аут-барьеры затрагивают не небольшую группу пользователей — они влияют на существенную часть аудитории любого сайта. В результате некоторые пользователи могут выглядеть неактивными, хотя это не так. Жёсткие тайм-ауты создают ненужное давление.

Моторные нарушения и медленная скорость ввода

Например, человек с церебральным параличом пытается купить билеты онлайн на предстоящий концерт. Из-за трудностей с координацией и ригидности мышц он может вводить свои данные медленнее, чем это сделал бы человек без инвалидности. Он выбирает дату, выбирает места и заполняет личную информацию. Прежде чем он успеет ввести данные своей кредитной карты, появляется всплывающее окно тайм-аута. Его “выкинули” из системы из‑за “неактивности”, и ему нужно начать весь процесс заново.Ситуация не является полностью гипотетической. Мэтью Кейн — защитник прав людей с инвалидностью, радиоведущий и автор журнала The European. Он описывает усилия, необходимые для навигации по сайтам человеку с церебральным параличом. Он объясняет, что интерфейс часто плохо спроектирован под адаптивные устройства, и его беспокоит, что его оборудование может реагировать некорректно. После того как он аккуратно проходит каждую страницу, его внезапно разлогинивают. Один таймированный запрос может стереть часы работы — и это не просто вопрос неудобства. Одна неудачная попытка может задержать получение поддержки или привести к тому, что он пропустит приём. Моторные нарушения могут замедлять скорость ввода, из-за чего создаётся впечатление, что пользователь находится не за компьютером. Поэтому люди, испытывающие скованность, тремор рук, трудности с координацией, непроизвольные движения или мышечную слабость, непропорционально сильно страдают от тайм-аутов сессии. Согласно DWP Accessibility Manual, может потребоваться несколько попыток, чтобы адаптивные технологии зарегистрировали ввод, что существенно замедляет пользователей. Даже если им показывают предупреждение, они могут не успеть среагировать достаточно быстро, чтобы доказать, что они всё ещё активны.

Когнитивные нарушения и время на обработку

Тайм-ауты сессии также могут создавать барьеры доступности для людей с различными когнитивными особенностями. Жёсткие тайм-ауты создают ненужное давление, исходя из предположения, что все обрабатывают информацию с одинаковой скоростью. Пользатели могут выглядеть неактивными, хотя в действительности они читают, думают или обрабатывают информацию. Когнитивные различия включают широкий спектр опыта, включая нейроотличия вроде аутизма и СДВГ (ADHD), нарушения развития вроде синдрома Дауна и нарушения обучения вроде дислексии. Многие люди рождаются с когнитивными особенностями. На самом деле, примерно 20% людей являются нейроотличными — и это составляет значительную часть аудитории любого сайта. Другие приобретают когнитивные инвалидности позже в жизни из-за травм головного мозга или состояний вроде деменции. Людям с когнитивными нарушениями часто требуется больше времени, чтобы завершить онлайн-задачи — не потому, что у них есть какой-то дефицит, а потому что они обрабатывают информацию иначе. Дизайнерские решения, которые хорошо работают для нейротипичных пользователей, могут создавать ненужные препятствия для людей с СДВГ, дислексией, аутизмом или состояниями, связанными с памятью. Незаметные (скрытые) тайм-ауты сессии особенно проблемны для людей, которые сталкиваются с потерей памяти, различиями в обработке языка или “слепотой ко времени” (time blindness). Например, руководитель технологических направлений для нейроотличных Кейт Карратерс (Kate Carruthers) говорит, что СДВГ влиял на её восприятие времени. У неё есть “слепота ко времени”, и она не может надёжно отслеживать, сколько времени прошло, поэтому оценка оставшегося времени оказывается бесполезной.Когда сайты полагаются на то, что пользователи оценивают оставшееся время до истечения сессии, они незаметно исключают людей — не только тех, у кого есть официальные диагнозы СДВГ, но и всех, кто воспринимает время иначе или обрабатывает информацию в другом темпе.

Нарушения зрения и дополнительная нагрузка при навигации с помощью программы чтения с экрана

Поскольку слепые пользователи или пользователи с низким зрением не могут визуально просканировать страницу, чтобы найти нужное, им приходится слушать ссылки, заголовки и поля форм, а это по своей природе занимает больше времени. Более чем 43 миллиона человек по всему миру страдают от слепоты, тогда как 295 миллионов имеют умеренные или тяжёлые нарушения зрения — и это делает данную проблему значимой для доступности любого сайта, ориентированного на глобальную аудиторию.В результате сессии этих пользователей могут истечь даже тогда, когда они активны. “Живые” таймеры и предупреждения за 30 секунд мало помогают, потому что они не созданы с учётом работы программ чтения с экрана.Богдан Церовац (Bogdan Cerovac), веб-разработчик, увлечённый цифровой доступностью, столкнулся с этим на собственном опыте. Таймер обратного отсчёта сообщал ему, сколько времени осталось до того, как его разлогинят из‑за неактивности. По всем признакам это работало нормально. Однако он описывает опыт с программой чтения с экрана как ужасный, поскольку он получал уведомление об оставшемся времени каждую секунду. Он не мог нормально ориентироваться на странице, потому что его “засыпало” постоянными сообщениями о статусе.

Типовые сценарии тайм-аутов, которые не соответствуют требованиям доступности

Согласно Национальному институту стандартов и технологий (NIST), управление сессией предпочтительнее постоянного сохранения учётных данных (credentials), что могло бы побудить пользователей создавать обходные решения аутентификации, способные поставить под угрозу безопасность. Однако несколько распространённых сценариев тайм-аутов не соответствуют современным стандартам доступности тайм-аутов сессии.

Источник изображения: 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, который описывает лучшие практики для достаточного времени.Механизм, позволяющий настраивать тайм-аут, должен продлевать лимит до истечения сессии или позволять полностью отключить его. Для первого варианта должно появляться диалоговое окно с вопросом пользователям, нужно ли им больше времени, чтобы они могли продолжить одним кликом. В WC3 отмечается, что существуют исключения.Например, когда сайт проводит “живую” продажу билетов, пользователи могут удерживать билеты в своих корзинах только 10 минут, чтобы дать другим возможность приобрести ограниченный инвентарь. Либо тайм-ауты сессии могут быть необходимы на общих компьютерах. Если бы библиотекари разрешали всем оставаться залогиненными вместо того, чтобы автоматически разлогинивать их на ночь, это создало бы риски для безопасности.Некоторые процессы вообще не должны иметь ограничений по времени. При просмотре соцсетей, чтении новостной статьи или поиске товаров на сайте электронной коммерции нет причин, чтобы сессия истекала в произвольный временной промежуток. Тем временем, в рамках таймированного экзамена это может быть необходимо. Однако в таком случае администраторы могут продлевать лимиты для студентов с инвалидностью.Когда веб-разработчики делают управление сессиями доступным, они не обслуживают маленькую группу. Данные Pew Research Center показывают, что 62% взрослых людей с инвалидностью имеют компьютер. У 72% есть высокоскоростной домашний интернет. Эти показатели статистически не отличаются от доли недисаблед (без инвалидности) взрослых, которые говорят, что у них есть то же самое.

Как преодолеть барьер доступности, связанный с тайм-аутами сессии

WCAG предоставляет дополнительные ресурсы, которые веб-разработчики могут изучить, чтобы лучше понять доступность управления сессиями:WCAG SC 2.2.1 Timing AdjustableWCAG SC 2.2.5 Re-authenticatingWCAG SC 2.2.6 TimeoutsПомимо следования этим рекомендациям, существует множество информации от ведущих образовательных учреждений, организаций, занимающихся открытыми веб-технологиями, и государственных агентств. Они дают отличную отправную точку для тех, кто имеет промежуточный уровень знаний в веб-разработке.Веб-специалистам стоит рассмотреть следующие ресурсы, чтобы узнать больше об инструментах и техниках, которые можно использовать, чтобы сделать управление сессиями более доступным:Техника продления сессии (Session Extension Technique) от Harvard UniversityРуководство по доступности DWP: как тестировать тайм-ауты сессииWindow: свойство sessionStorageДоступность тайм-аутов сессии — это не только лучшая практика отрасли, но и этический стандарт веб-разработки.](https://twitter.com/share?text=%0aSession%20timeout%20accessibility%20is%20not%20only%20an%20industry%20best%20practice%20but%20an%20ethical%20web%20development%20standard.%0a&url=https://smashingmagazine.com%2f2026%2f04%2fsession-timeouts-accessibility-barrier-authentication-design%2f)“Те, кто уделяет этому приоритетное внимание, привлечёт более широкую аудиторию, улучшит удобство использования и увеличит количество посетителей сайта и длительность их сессий.Главный вывод заключается в том, что сайт с недоступными тайм-аутами сессии отправляет ясный сигнал: он не ценит время и усилия пользователя — а это создаёт значительные барьеры для людей с инвалидностью. Но это решаемая проблема. С несколькими простыми изменениями, такими как предоставление предупреждений о продлении сессии и автосохранение прогресса, веб-разработчики могут построить более внимательный, доступный и уважительный интернет для всех.

Дополнительное чтение на SmashingMag

Что на самом деле значит, чтобы сайт был доступен для навигации с клавиатуры”, Eleanor Hecks“Проектирование с учётом нейроразнообразия”, Vitaly Friedman“Что бы я хотел(а), чтобы кто-то сказал мне, когда я только начинал(а) разбираться в ARIA”, Eric Bailey“Набор инструментов для адвокации доступности для дизайнеров”, Yichan Wang

(yk)