Тайм-ауты сессии: незамеченный барьер доступности в дизайне аутентификации — 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 — плохой пользовательский опыт особенно болезненен. В сравнении с этим, заявка в Великобритании на получение пенсионного кредита (pension credit) имеет очень высокий уровень доступности. Она предупреждает пользователей минимум за две минуты и позволяет продлить сессию. Она соответствует уровню AA критериев успешности WCAG 2.2, что указывает на ее доступность.

Источник изображения: Experience League. (Большой превью)
Люди с инвалидностью непропорционально сильно страдают от непредвиденных последствий плохого управления сессией. К счастью, недоступность тайм-аутов сессии — не вопрос неизбежности. С несколькими небольшими изменениями веб-профессионалы могут заметно улучшить доступность своего сайта.
Системы предварительных предупреждений и возможность продления
Сайты должны четко указывать, что существует ограничение по времени, и какова его длительность, прежде чем начнется сессия. Например, если человек заполняет банковскую форму, первая страница должна существовать исключительно для того, чтобы сообщить ему, что есть лимит в 60 минут. Живой счетчик, который регулярно обновляется, может помочь им отслеживать, сколько времени осталось. Также пользователям нужно сообщить, могут ли они изменить длительность тайм-аута сессии.
Активностно-зависимые и абсолютные тайм-ауты
Тайм-аут по активности (activity-based) разлогинивает пользователя из-за неактивности, а абсолютный тайм-аут (absolute) разлогинивает независимо от активности. Для офиса, например, может иметь смысл абсолютный таймер на 24 часа, поскольку сотрудники должны входить в систему только тогда, когда приходят на работу. Если пользователи знают, когда истечет их сессия, второй вариант более доступен, чем первый.
Автосохранение и сохранение прогресса
Cookies, localStorage и sessionStorage — это временные механизмы хранения на стороне клиента, которые позволяют веб-приложениям хранить данные в течение одной браузерной сессии. Это мощные и легковесные инструменты. Веб-разработчики могут использовать их, чтобы автоматически сохранять прогресс пользователей через частые интервалы, гарантируя восстановление данных при повторной аутентификации.
Таким образом, даже если чья-то сессия истечет случайно, его не будут наказывать. Когда пользователь снова войдет в систему, он сможет завершить ввод данных кредитной карты или продолжить с того места, где остановился, при заполнении онлайн-формы.
Тестирование и соображения соответствия WCAG
Руководство по доступности веб-контента (WCAG) — это набор международно признанных стандартов доступности интернета, опубликованный W3C. Оно выступает арбитром в вопросе доступности тайм-аутов сессии. Веб-разработчикам следует уделить особое внимание пункту 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
Помимо следования этим рекомендациям, существует множество информации от ведущих образовательных учреждений, организаций, занимающихся открытыми веб-технологиями, и государственных агентств. Эти материалы станут отличной отправной точкой для тех, у кого есть промежуточные знания в веб-разработке.
Веб-профессионалам стоит рассмотреть следующие ресурсы, чтобы узнать больше о инструментах и техниках, которые можно использовать, чтобы сделать управление сессией более доступным:
Техника продления сессии от Harvard University
DWP Accessibility Manual: Как тестировать тайм-ауты сессии
Window: свойство sessionStorage
Доступность тайм-аутов сессии — это не только лучшая практика отрасли, но и этический стандарт веб-разработки.
«Те, кто уделяет этому приоритет, будут интересны более широкой аудитории, улучшат удобство использования и привлекут больше посетителей на сайт и более длинные сессии».
Главный вывод таков: сайт с недоступными тайм-аутами сессии отправляет понятный сигнал, что он не ценит ни время пользователя, ни его усилия — а это создает значительные барьеры для людей с инвалидностью. Однако эту проблему можно решить. С несколькими простыми изменениями — например, с предупреждениями о продлении сессии и автосохранением прогресса — веб-разработчики могут создать более внимательный, доступный и уважительный интернет для всех.
Дальнейшее чтение на Smashing
Mag
«Что на самом деле означает, что сайт доступен для навигации с клавиатуры» — Eleanor Hecks
«Проектирование для нейроразнообразия» — Vitaly Friedman
«Что бы я хотел, чтобы кто-то сказал мне, когда я только начинал разбираться в ARIA» — Eric Bailey
«Набор инструментов для защиты доступности от дизайнера» — Yichan Wang

(yk)