Так же, как изображает отношения между классами UML, можно построить приложение, с помощью которого можно будет анализировать и создавать диаграммы отношений элементов Web-страницы.
Программа может работать в двух режимах: анализ существующих связей элементов и создание новой структуры документа.
Анализ связей будет давать возможность анализировать нисходящие связи в (X)HTML-документе, отображать возможные и допущенные ошибки на семантическом уровне. Помимо этого, не мешало бы интегрировать в анализатор сам валидатор от W3C: тогда помимо семантического, можно проводить и параллельный «грамматический» анализ страницы.

Создание диаграммы связей аналогично созданию диаграмм в UML: вы создаёте новые элементы и определяете их связи с другими элементами на странице. В результате определённых манипуляций вы получаете иерархию документа. Её, впоследствии, можно разбить на блоки и вывести в виде обычного (X)HTML. Наверное, в таком случае, стоит предусмотреть и возможность стилистического оформления содержимого через CSS.
Такое средство, думаю, очень сильно упростит проектирование структуры документа, если в него встроить средства для обнаружения потенциальных и частых ошибок (незакрытые теги и тому подобное). С другой стороны, можно полностью обезопасить разработчика, если огородить его от редактирования самого (X)HTML-документа: разработчик строит иерархию через визуальный редактор и на выходе получает максимально семантичный и валидный (X)HTML-код.