Handoff для фронтенда · строка популярных фильтров

Чеклист: SEO-условия и требования к реализации

Пара к интерактивному демо (механика вживую). Пункты с крестиком — анти-паттерны, которые ломают схему.

SEO критично

Смысл всей схемы: краулер получает полный список фильтров в первом HTML, скрытие — только косметика на клиенте.

Слот кнопки «Очистить»

Кнопка живёт вне измеряемого списка и резервирует место всегда — её появление не двигает чипсы. Визуально она прижата к последнему видимому чипсу через transform: слот и резерв остаются в потоке, а свободный воздух собирается справа от кнопки.

Резерв слота = ширина кнопки × 1,5 кнопка + отступ 0,5 её ширины (воздух; визуально — справа от кнопки, перед сортировкой)

Резерв мягкий. План А: когда активные чипсы расширяются, сначала они съедают эти 0,5 ширины — ни один фильтр не пропадает. План Б (схлопывание неактивных) включается только после исчерпания резерва. Неактивный хвост в резерв не пускаем: он клипуется по границе «ширина − резерв».

Раскладка и замер

Ширины не суммируем — браузер уже разложил чипсы, JS только читает результат.

Приёмка QA-сценарии

Мобильная версия живёт по своему паттерну (горизонтальный скролл) — рассинхрон видимости с десктопом не является багом, зафиксировано с дизайном.