TGViewer
UX Notes UX Notes @uxnotes · 23.7K subscribers
Post #957 5.09K
Джон Эгеланд написал о реализации в Дискорде подсветки элементов, получивших фокус.

— Шорткаты позволяли переключать каналы, перемещаться по полям форм, открывать поиск и быстрый переключатель. Нужна была возможность полноценной работы с продуктом с помощью одной лишь клавиатуры;
— Сложнее всего было реализовать подсветку элемента, получившего фокус;
— Решение с псевдоклассом :focus и свойством outline в большом проекте ломается: обводка обрезается в контейнере со стилем overflow-hidden, не совпадает с радиусом скругления отдельных элементов, искажается маржинами и падингами;
— В итоге нашли масштабируемое решение, работающее «из коробки». JavaScript, React, подробнее в статье;
— Оно позволяет отследить фокус на отдельном элементе, а подсветить весь включающий его контейнер. Полезно, например, когда в чекбоксе можно нажать и на селектор и на текст, но фокус получает только селектор;
— Покрывает ситуации, когда элементы частично закрыты или прокручены за пределы экрана;
— Позволяет задать любой радиус скругления для обводки (в частности, это нужно, чтобы он совпадал с радиусом скругления элемента или компонента);
— Относительные сложности с подсветкой двигающегося или трансформирующегося элемента (обводка иногда запаздывает), что важно, так как анимаций в интерфейсах становится больше. А также — с изменением цвета обводки в зависимости от цвета фона (решение есть, но некрасивое и неэффективное).
Хабр Как Discord реализовал навигацию клавиатурой по всему приложению Мы делаем Discord доступным для каждого. В 2020 году мы многое сделали, чтобы значительно улучшить ассебилити в приложении. Остаётся ещё много работы, но мы уже сейчас можем рассказать об одном из...
  • 👍 10
  • ❤ 1
More from @uxnotes
  1. Oct 2, 2026Сархан Громов написал о проблеме связи брендинга и интерфейса. Фирменные приёмы могут отли…
  2. Oct 1, 2026Post #1813
  3. Sep 30, 2026Александр Краснобаев написал об а/б-тестах на малом трафике. • Нельзя выбирать один из вар…
  4. Sep 27, 2026Елена Плинер написала о юзерфлоу. — User flow — это блок-схема пользовательского пути в ра…
  5. Sep 23, 2026Ночной UX — цифровая вечеринка от Сбера Необычные решения, творчество и ошибки делают нас…
  6. Sep 17, 2026Анастасия Ефанова написала, как сокращение количества пушей в 2,5 раза повысило конверсию…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →