Нужен "бутерброд" (снизу вверх, к пользователю):
1. Человек и линии - SVG. ("подложка")
2. Блоки надписей (с круглыми пиктограммами) - контейнер DIV'ов. (основной текстовый контент)
Порядок создания:
1. Начинаем с п.2 (создаём контейнер DIV'ов с надписями внутри), т.к. нам нужен размер SVG на основе контейнера DIV.
2. Создаём SVG (точно ПОД контейнером DIV'ов с той же позицией и того же размера).
После того, как это сделано - динамически создаём соединительные линии используя координаты соединительных точек блока-человека и блоков-надписей (все вычисления и прорисовка линий на SVG - через JS).