1. У активного элемента вызываете
getBoundingClientRect(), получаете все размеры, включая высоту блока и расстояние до верха родительского контейнера.
2. Вычисляете на сколько нужно прокрутить (например: высота до верха + высота элемента + 10px запаса снизу).
3. Родителю делаете
scroll(), при желании можете добавить ему
behavior: 'smooth'