The reason I use HTMLPanel was because the <li> element generated have no wrapper around it. I don't think there's any way to convert safehtml into widget without having any wrapper.