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

Я не раз наблюдал, как пользователи теряют результаты долгой работы из-за одного незаметного механизма — тайм-аута сессии. Для большинства это раздражение. Для людей с ограниченными возможностями — это барьер, который может полностью закрыть доступ к нужному сервису. В этой статье я разберу, почему управление сессиями так часто проектируется без учёта доступности и что с этим делать

Многие пользователи сталкиваются с ситуацией, когда заполняют важную форму и неожиданно оказываются выброшенными обратно на экран входа без предупреждения. Такие случаи вызывают раздражение и могут привести к отказу от использования сервиса, хотя во многих сценариях проблему можно решить более аккуратным управлением сессией и сохранением прогресса

Я уже рассматривал, как управление сессиями через синтаксис PRAGMA в SQLite помогает избежать тайм-аутов, что является важным аспектом для обеспечения доступности. Управление сессиями с PRAGMA

Для улучшения пользовательского опыта на старых системах были предложены советы, как максимизировать доступность тайм-аутов, что может значительно помочь людям с инвалидностью. Улучшение доступности UX

Содержание
  1. Почему тайм-ауты сессий непропорционально сильно бьют по пользователям с инвалидностью
  2. Двигательные нарушения и замедленный ввод
  3. Когнитивные нарушения и время обработки информации
  4. Нарушения зрения и накладные расходы навигации через экранный диктор
  5. Распространённые паттерны тайм-аутов, не соответствующие требованиям доступности
  6. Скрытые session timeouts и недостаточные предупреждения пользователю
  7. Сессии без возможности продления: extending session timeouts
  8. Потеря данных формы при истечении сессии
  9. Паттерны проектирования, обеспечивающие баланс между безопасностью и доступностью
  10. Системы заблаговременного предупреждения и функция продления
  11. Тайм-ауты на основе активности и абсолютные тайм-ауты
  12. Автосохранение и сохранение прогресса
  13. Тестирование session timeout и соответствие требованиям WCAG
  14. Как преодолеть барьер доступности при тайм-аутах сессий
  15. Ответы на эти вопросы могут быть для вас полезными

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

Значительная часть мирового населения страдает от когнитивных, двигательных или зрительных нарушений. Около 1,3 миллиарда людей сталкиваются с серьёзными проблемами со здоровьем, что негативно сказывается на их способности взаимодействовать с технологиями. Тайм-ауты сессий могут особенно негативно сказываться на этих пользователях, что делает вопрос доступности крайне актуальным

Около 20% людей идентифицируют себя как нейроотличные, что означает, что проблемы тайм-аутов сессий касаются значительной части аудитории любого сайта. Некоторые пользователи могут выглядеть неактивными, хотя на самом деле продолжают работу. Жёсткие тайм-ауты создают ненужное давление

Двигательные нарушения и замедленный ввод

Представьте пользователя с церебральным параличом, желающего купить билеты на концерт. Из-за медленной моторики он вводит данные медленнее, чем обычные пользователи. Когда он завершает заполнение формы и пытается ввести данные для оплаты, появляется предупреждение о тайм-ауте, и его выбрасывает из системы, заставляя начать снова

Правозащитник Мэтью Кейн делится опытом, который показывает, как непросто ему навигировать по сайтам. Многие интерфейсы плохо подходят для использования вспомогательных технологий, что вызывает дополнительные проблемы. После многочасовой работы он снова теряет доступ из-за тайм-аута, что мешает получать необходимую помощь

Пользователи с двигательными нарушениями могут восприниматься как неактивные из-за медленного ввода. Люди, страдающие спазмами, дрожью или мышечной слабостью, особенно уязвимы к тайм-аутам сессий. Согласно рекомендациям DWP Accessibility Manual, вспомогательные технологии требуют больше времени для регистрации ввода, что тормозит весь процесс

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

Кроме того, тайм-ауты сессий создают барьеры для людей с когнитивными нарушениями, вызывая у них дополнительное давление. Они могут показаться неактивными, хотя на самом деле занимаются чтением или размышлением

Когнитивные отличия охватывают широкий спектр опыта: нейроотличия, такие как аутизм и СДВГ, нарушения развития, такие как синдром Дауна, и нарушения обучения, такие как дислексия. По оценкам, 20% людей являются нейроотличными, составляя большую часть аудитории любого сайта. Другие приобретают когнитивные нарушения позже в жизни — в результате черепно-мозговой травмы или таких состояний, как деменция

Люди с когнитивными нарушениями часто нуждаются в большем времени для выполнения онлайн-задач — не из-за какого-либо дефицита, а потому что они обрабатывают информацию иначе. Дизайнерские решения, которые хорошо работают для нейротипичных пользователей, создают ненужные препятствия для людей с СДВГ, дислексией, аутизмом или состояниями, связанными с памятью

Невидимые тайм-ауты сессий особенно затруднительны для людей, сталкивающихся с потерей памяти или разными способами восприятия времени. Нейроотличный лидер технологий, Кейт Каррутерс, делится, что её восприятие времени и оценки его проходят испытания из-за СДВГ, что делает любой расчет времени бесполезным

Когда сайты рассчитывают на то, что пользователи будут оценивать оставшееся время до истечения сессии, они незаметно исключают людей — не только тех, у кого официально диагностирован СДВГ, но и всех, кто воспринимает время иначе или обрабатывает информацию в другом темпе

Нарушения зрения и накладные расходы навигации через экранный диктор

Слепые пользователи или пользователи с ослабленным зрением не могут визуально просматривать страницу в поисках нужного — им приходится прослушивать ссылки, заголовки и поля форм, что по своей природе занимает больше времени. Более 43 миллионов человек во всём мире страдают от слепоты, а 295 миллионов имеют умеренные или тяжёлые нарушения зрения — это значимая проблема доступности для любого сайта с глобальной аудиторией

В результате сессии этих пользователей могут истекать, даже если они активны. Таймеры в реальном времени и предупреждения за 30 секунд мало помогают, поскольку они не разработаны с учётом программ чтения с экрана (screen readers)

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

Он не мог навигировать по странице, потому что был завален непрерывными статусными сообщениями

Распространённые паттерны тайм-аутов, не соответствующие требованиям доступности

По данным Национального института стандартов и технологий (National Institute of Standards and Technology), управление сессиями предпочтительнее постоянного сохранения учётных данных, поскольку последнее стимулировало бы пользователей создавать обходные пути аутентификации, способные поставить под угрозу безопасность. Тем не менее ряд распространённых паттернов тайм-аутов не соответствует современным стандартам доступности

Скрытые session timeouts и недостаточные предупреждения пользователю

Многие сайты либо вообще не предупреждают пользователей перед выходом из системы, либо отображают краткое всплывающее окно, которое появляется слишком поздно, чтобы на него можно было среагировать. Для пользователей, работающих с экранным диктором, такие предупреждения могут не успеть озвучиться вовремя. Для людей с нарушениями моторики обратный отсчёт в 30 секунд может оказаться недостаточным для ответа

Рассмотрим страницу DS-260 Консульского электронного центра подачи заявлений (Consular Electronic Application Center), которая используется для подачи заявки или продления неиммиграционной визы США. Если заявление остаётся неактивным около 20 минут, система выходит из аккаунта без предупреждения. Страница FAQ предоставляет лишь приблизительную оценку времени

Работа сохраняется только при завершении страницы, поэтому пользователь может потерять значительный прогресс

Сессии без возможности продления: extending session timeouts

Резкое сообщение «сессия истекла» раздражает даже людей без инвалидности. Если нет возможности продолжить, пользователи вынуждены повторно войти в систему и начать работу заново, теряя время и силы

Потеря данных формы при истечении сессии

Если сайт не сохраняет прогресс автоматически, посетители теряют всё при истечении сессии. Для человека с инвалидностью это не просто потеря времени. Это может сделать его день несравнимо тяжелее. Представьте, что вы потратили час на заявку на обслуживание, заявление о приёме на работу или заказ на покупку — и весь прогресс полностью стирается практически без предупреждения

Паттерны проектирования, обеспечивающие баланс между безопасностью и доступностью

Непоследовательные периоды тайм-аутов и отсутствие предупреждений приводят к внезапной, неожиданной потере всей несохранённой работы. Для длинных сложных форм, таких как DS-260, неудовлетворительный пользовательский опыт крайне разочаровывает

В сравнении с этим британская заявка на пенсионный кредит отличается высокой доступностью: она предупреждает пользователей как минимум за две минуты и позволяет продлить сессию. Она соответствует уровню AA критериев успеха WCAG 2.2, что подтверждает её доступность

Люди с инвалидностью непропорционально сильно страдают от непредвиденных последствий плохого управления сессиями. К счастью, недоступность сессионных тайм-аутов — не неизбежность. Несколько небольших изменений позволят веб-специалистам значительно улучшить доступность своего сайта

Системы заблаговременного предупреждения и функция продления

Сайты должны чётко указывать на существование и продолжительность ограничения по времени до начала сессии. Например, если кто-то заполняет банковскую форму, первая страница должна существовать исключительно для того, чтобы сообщить пользователю о 60-минутном ограничении. Живой счётчик, регулярно обновляющийся, поможет отслеживать оставшееся время

Кроме того, пользователей следует информировать о том, могут ли они изменить продолжительность сессионного тайм-аута

Тайм-ауты на основе активности и абсолютные тайм-ауты

Тайм-аут на основе активности (activity-based timeout) выходит из системы из-за бездействия, тогда как абсолютный тайм-аут (absolute timeout) выходит из системы независимо от активности. Для офиса абсолютный тайм-аут в 24 часа может иметь смысл, поскольку сотрудникам нужно входить в систему только при приходе на работу. При условии, что пользователи знают, когда истечёт их сессия, последний вариант более доступен, чем первый

Автосохранение и сохранение прогресса

Cookies, localStorage и sessionStorage — это временные клиентские механизмы хранения, позволяющие веб-приложениям сохранять данные на протяжении одной браузерной сессии. Это мощные и лёгкие инструменты. Я рекомендую веб-разработчикам использовать их для автоматического сохранения прогресса пользователей через частые интервалы, обеспечивая восстановление данных после повторной аутентификации

Таким образом, даже если чья-то сессия случайно истекает, пользователь не несёт потерь. После повторного входа в систему он может завершить заполнение данных кредитной карты или продолжить с того места, где остановился в онлайн-форме

Тестирование session timeout и соответствие требованиям WCAG

Руководство по доступности веб-контента (Web Content Accessibility Guidelines, WCAG) — это свод международно признанных стандартов доступности в интернете, опубликованных W3C. Оно выступает арбитром доступности сессионных тайм-аутов. Веб-разработчикам следует уделить особое внимание Руководству 2.9.2, в котором изложены лучшие практики обеспечения достаточного времени

Механизм регулировки тайм-аута должен продлевать ограничение по времени до истечения сессии или позволять полностью отключить его. В первом случае должно появляться диалоговое окно с вопросом, нужно ли пользователю больше времени, позволяя продолжить одним нажатием. W3C отмечает, что существуют исключения

Например, когда сайт проводит продажу билетов в режиме реального времени, пользователи могут удерживать билеты в корзине только 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's Session Extension Technique
  • DWP Accessibility Manual: How to test session timeouts
  • Window: sessionStorage property

На нашем опыте, сайты, которые внедряют даже минимальный набор этих практик, заметно снижают число брошенных форм и жалоб на потерю данных. Доступность тайм-аутов сессий — это не только лучшая практика отрасли, но и этический стандарт веб-разработки. Те, кто ставит её в приоритет, охватывают более широкую аудиторию, улучшают удобство использования и увеличивают продолжительность сессий

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

Ответы на эти вопросы могут быть для вас полезными

Какой минимальный срок предупреждения перед истечением сессии считается доступным?

Согласно WCAG SC 2.2.1, пользователь должен иметь возможность продлить сессию или отключить тайм-аут. На практике предупреждение должно появляться не менее чем за две минуты до истечения — именно такой подход реализован в британской заявке на пенсионный кредит, соответствующей уровню AA стандарта WCAG 2.2

Можно ли вообще отказаться от тайм-аутов сессий?

Для ряда сценариев — просмотр социальных сетей, чтение статей, поиск товаров — тайм-ауты не нужны. Для процессов с реальными ограничениями (продажа билетов, общие компьютеры, экзамены) тайм-ауты оправданы, но должны сопровождаться чёткими предупреждениями и возможностью продления

Как автосохранение помогает пользователям с инвалидностью?

Использование cookies, localStorage и sessionStorage позволяет сохранять прогресс формы через частые интервалы. Даже если сессия истекает, после повторного входа пользователь продолжает с того места, где остановился, — без потери данных и необходимости начинать заново

Почему таймер обратного отсчёта может быть проблемой для пользователей экранного диктора?

Если таймер реализован без учёта программ чтения с экрана, он может озвучивать оставшееся время каждую секунду, полностью блокируя навигацию по странице. Правильная реализация предполагает использование ARIA live regions с умеренной частотой обновлений

Насколько велика аудитория пользователей с инвалидностью в интернете?

По данным Pew Research Center, 62% взрослых людей с инвалидностью владеют компьютером, а 72% имеют высокоскоростной домашний интернет — показатели, статистически сопоставимые с аудиторией без инвалидности. Игнорировать доступность тайм-аутов значит терять значительную и платёжеспособную часть пользователей

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x