S-WEBS24

Битрикс24

CRM, процессы и приложения для вашей компании

Вернуться к списку Вернуться к статьям
Статьи

Подсказки в фильтрах каталога: как дать редактору управление сложными терминами

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

Подсказки всех фильтров
Учебная схема: подсказки всех фильтров. Обозначения и примеры не относятся к конкретному клиенту.

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

Сначала определите, что требуется объяснять

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

Техническое пояснение должно опираться на модель данных. Если параметр означает максимальную поддерживаемую ёмкость, нельзя описывать его как установленную. Редактор проверяет смысл с владельцем каталога, а разработчик обеспечивает место хранения и показ. Универсальная форма не создаёт точную фактуру автоматически.

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

Поле пояснения принадлежит свойству

Если фильтр строится из свойств каталога, естественно связать пояснение с той же сущностью. Редактор должен видеть, какое свойство он меняет и где текст используется. Отдельный массив в шаблоне, сопоставленный по названию, ломается при переименовании и не даёт владельцу самостоятельности.

Выберите существующий поддерживаемый механизм метаданных, если он есть. Не нужно добавлять параллельную таблицу ради одного текста без изучения текущей модели. При этом нельзя объявлять готовое стандартное поле доступным, пока оно не подтверждено в используемой версии и типе свойства.

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

Общий компонент заменяет частные исключения

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

Не удаляйте старые пояснения до проверки переноса. Иначе универсальный механизм технически появится, а полезные тексты исчезнут. Сравните набор свойств до и после, включая те, которые уже работали. Это небольшая миграция редакционных данных, а не только добавление значка в CSS.

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

Доступная подпись и описание имеют разные роли

Подпись называет фильтр. Пояснение дополняет смысл. Если заменить название одним значком и спрятать весь текст в tooltip, интерфейс станет менее понятным и зависимым от взаимодействия. Основное название должно оставаться доступным постоянно.

Паттерн WAI-ARIA для tooltip описывает связь через aria-describedby и управление с фокусом, но сам документ отмечает статус рабочего примера паттерна. Его используют как ориентир проектирования, а не как обещание, что один атрибут автоматически обеспечит доступность любого виджета.

Если внутри всплывающего блока нужны ссылки или другие фокусируемые действия, это уже может требовать иной модели, например немодального пояснения. Не присваивайте роль tooltip произвольному интерактивному окну. Семантика должна соответствовать реальному поведению.

ЭлементНазначениеПроверка
Название фильтраПостоянно обозначает параметрПонятно без открытия подсказки
Триггер поясненияДаёт доступ к дополнительному смыслуРаботает с клавиатуры и касанием
ТекстОбъясняет характеристикуНе повторяет пустую подпись
Пустое полеПояснение не заданоНет бесполезной кнопки

Наведение не должно быть единственным способом

На настольном экране подсказка может появляться при наведении и фокусе. Она должна оставаться доступной достаточно, чтобы её прочитать, и закрываться понятным способом. Если движение курсора к тексту немедленно закрывает блок, длинное пояснение становится практически недоступным.

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

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

Расположение и длина текста

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

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

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

Безопасное форматирование

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

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

Проверьте переносы строк и пробелы. Редактор может скопировать пояснение из таблицы с необычным форматированием. Нормализация должна сохранять смысл и не объединять важные условия в нечитабельную строку. При этом рабочие комментарии и внутренние коды не должны попадать в публичное поле.

Динамическая выдача и повторная инициализация

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

Проверьте открытие мобильной панели несколько раз. Старые подсказки не должны оставаться невидимыми поверх новой формы или блокировать касание. Открытое пояснение должно закрываться либо переноситься по согласованному правилу при исчезновении соответствующего фильтра.

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

Приёмка редактора и посетителя

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

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

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

Учебный сценарий добавления нового свойства

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

Очистите поле. Значок не должен оставаться пустым или выдавать старый текст из частного массива. Затем снова заполните пояснение. Этот опыт подтверждает полный жизненный цикл, а не только первоначальное добавление заранее известного свойства.

Если часть типов свойств не поддерживается, ограничение должно быть явным. Нельзя обещать одинаковый механизм для любого фильтра, проверив только один текстовый список. Перечень поддерживаемых представлений входит в техническую карту.

Проверка разных способов взаимодействия

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

На телефоне откройте пояснение касанием и попробуйте выбрать значение соседнего фильтра. Невидимый слой не должен блокировать действие после закрытия. Повторное открытие панели не должно создавать вторую копию подсказки с тем же идентификатором.

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

Редакционная проверка смысла

Сравните подпись, варианты и пояснение как единый фрагмент. Человек должен понять, к чему относится термин и как он влияет на выбор. Если текст объясняет другую характеристику, технически правильный вывод не делает его полезным.

Для состояния товара избегайте необоснованных обещаний качества или происхождения. Пояснение должно отражать подтверждённое значение в каталоге. Общая функция подсказок не даёт права придумать факт о конкретном ассортименте.

Если текст содержит ссылку на справочный материал, проверьте, подходит ли выбранный компонент для интерактивного содержимого. Обычный tooltip без фокуса не превращается в доступное меню ссылок после добавления HTML. Модель взаимодействия должна быть пересмотрена осознанно.

Проверка после фильтрации и сортировки

Откройте пояснение, измените условие и дождитесь новой выдачи. Если блок свойств перерисовывается, старое состояние должно завершиться корректно. Уникальные связи описания должны указывать на текущий элемент, а не на удалённый узел.

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

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

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

Связанные разборы

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

Вопросы по теме

Можно ли спрятать название фильтра в подсказку?

Не стоит: постоянная подпись и дополнительное пояснение решают разные задачи.

Подходит ли tooltip для блока со ссылками?

Не всегда. Интерактивное содержимое может требовать другой модели с соответствующим управлением фокусом.

Документация и источники

  • WAI-ARIA: Tooltip Pattern: Подсказка связана с управляющим элементом и не заменяет доступную подпись.
  • 1С-Битрикс: работа с инфоблоками: Поля и свойства служат моделью контента; пример статьи не утверждает наличие готового универсального импортёра.